1 2 3 4 5 6 7 8 9 10
class D extends C object Macros { def foo[T <: D] = macro Impls.foo[T] } object Test extends App { import Macros._ foo[D] }