Lors de l'utilisation d'une macro pour concrétiser une implémentation d'un trait, j'aimerais créer cette implémentation au sein d'un package afin qu'elle ait accès à d'autres classes du package en visibilité package-private.
trait MyTrait[T]
object MyTrait {
implicit def materialize[T]: MyTrait[T] = macro materializeImpl[T]
def materializeImpl[T : c.WeakTypeTag](c: blackbox.Context): c.Expr[MyTrait[T]] = {
val tt = weakTypeTag[T]
c.Expr[MyTrait[T]](q"new MyTrait[$tt] {}")
}
}
Est-il possible de concrétiser new MyTrait[$tt] {}
dans un package particulier ?