繁体   English   中英

Scala宏注释不会扩展(宏天堂)

[英]Scala macro annotations do not get expanded (macro paradise)

我正在尝试在项目中包含宏注释。 根据文档 ,我尝试实现它们的示例。

我知道宏模块必须在核心模块之前编译(核心是包含利用宏注释的代码的模块)。 为此,我创建了以下build.sbt(版本1.2.8):

name := "test"

lazy val commonSettings = Seq(
  version := "0.1",
  scalaVersion := "2.12.8"
)

lazy val macros = (project in file("macros")).settings(
  commonSettings,
  libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value
)

lazy val core = (project in file("core")).settings(
  commonSettings
) dependsOn macros

我的项目的结构如下:

+-- .idea
+-- core
|   +-- src
|   |   +-- java
|   |   +-- scala
|   |   |   +-- Test.scala
+-- macros
|   +-- src
|   |   +-- java
|   |   +-- scala
|   |   |   +-- identity.scala
...

但是,当我在Test类中使用@identity批注时,仍然收到以下消息:宏批注未展开(由于@compileTimeOnly("enable macro paradise to expand macro annotations") )。 有什么想法吗?

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)

commonSettings

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM