2

実験に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

なんで?

4

0 に答える 0