Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package misc
- import scala.reflect.ClassTag
- import scala.reflect.runtime.universe._
- object HigherKind extends App {
- def generic[G, T[_]](v: T[G])(implicit wtt: WeakTypeTag[T[_]], wtg: WeakTypeTag[G]): Unit = {
- println(v)
- println(wtg.tpe)
- println(wtt.tpe)
- println()
- }
- case class Test(x: Int, y: Int)
- generic(Some(10))
- generic(List(10))
- generic(1)
- generic(1.toByte)
- generic("aaa")
- generic(Map(1 -> 1))
- //generic(Test(1,2)) // compiler error: no type parameter for method generic
- }
Advertisement
Add Comment
Please, Sign In to add comment