Guest User

Untitled

a guest
Aug 2nd, 2015
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
Advertisement
Add Comment
Please, Sign In to add comment