0__*_*0__ 1 macros scala scala-2.11
我试图将一个宏从Scala 2.10移植到2.11.0-M7:
import scala.reflect.macros.Context
object Format {
def apply[A]: Unit = macro applyImpl[A]
def applyImpl[A: c.WeakTypeTag](c: Context): c.Expr[Unit] = ???
}
Run Code Online (Sandbox Code Playgroud)
必须改变一些东西,因为编译器说不scala.reflect.macros.Context存在.
我的构建文件如下所示:
scalaVersion := "2.11.0-M7"
resolvers += Resolver.sonatypeRepo("snapshots")
addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise" % "2.0.0-SNAPSHOT"
cross CrossVersion.full)
Run Code Online (Sandbox Code Playgroud)
有线索吗?
scala-reflect现在需要明确添加:
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value
Run Code Online (Sandbox Code Playgroud)
Context 已弃用,但它已编译.