SHOW:
|
|
- or go back to the newest paste.
1 | package misc | |
2 | ||
3 | import scala.reflect.ClassTag | |
4 | import scala.reflect.runtime.universe._ | |
5 | ||
6 | object HigherKind extends App { | |
7 | ||
8 | def generic[G, T[_]](v: T[G])(implicit wtt: WeakTypeTag[T[_]], wtg: WeakTypeTag[G]): Unit = { | |
9 | println(v) | |
10 | println(wtg.tpe) | |
11 | println(wtt.tpe) | |
12 | println() | |
13 | } | |
14 | ||
15 | case class Test(x: Int, y: Int) | |
16 | ||
17 | generic(Some(10)) | |
18 | generic(List(10)) | |
19 | generic(1) | |
20 | generic(1.toByte) | |
21 | generic("aaa") | |
22 | generic(Map(1 -> 1)) | |
23 | ||
24 | //generic(Test(1,2)) // compiler error: no type parameter for method generic | |
25 | ||
26 | } |