1 2 3 4 5 6 7 8 9 10
object Test extends App { class C[T] { def foo[U](x: U) = macro Impls.foo[T, U] } object D extends C[Boolean] D.foo(42) D.foo("42") }