0

我尝试inline / meta在 scala-maven 项目中实现 scala-meta 样式的宏注释。我在编译中遇到以下错误。

[ERROR] /home/tiran/.../validatable.scala:12: ';' expected but 'def' found.
[ERROR]   inline def apply(defn: Any): Any = meta {
[ERROR]          ^

我们是否需要额外的编译器插件才能使 scala meta 工作,或者我在这里遗漏了什么?顺便说一句,scalameta依赖是我添加的唯一依赖。我的 Scala 版本是 2.11

4

1 回答 1

1

https://github.com/scalameta/sbt-macro-example/blob/master/build.sbt

// A dependency on macro paradise 3.x is required to both write and expand
// new-style macros.  This is similar to how it works for old-style macro
// annotations and a dependency on macro paradise 2.x.
addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M7" cross CrossVersion.full),
scalacOptions += "-Xplugin-require:macroparadise",

所以你需要添加 Maven 等价物。

于 2017-04-03T07:20:23.250 回答