我想使用scala宏进行实验。但是当我使用宏时会出错。
import scala.language.experimental.macros
object Macro {
import scala.reflect.macros.Context
def metImpl(c : Context) (s : c.Expr[String]) = {
import c.universe._
reify {
()
}
}
}
object A {
def met(k: String):Unit = macro Macro.metImpl //this error
}
错误:
test.scala:19: error: macro implementation must be in statically accessible object
def met(k: String):Unit = macro Macro.metImpl
为什么?