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 | } |