Я попытался реализовать пример макроаннотаций Scala, как описано в документации .Мне удалось скомпилировать аннотации макросов до того, как реальный проект, который их использует, т. Е. @compileTimeOnly("enable macro paradise to expand macro annotations")
не запускается, что означает, что аннотация макроса компилируется перед его использованием.Пока все хорошо.
Однако, когда я аннотирую определенные значения в моем реальном проекте следующим образом:
@identity val foo: Double = 1.1
@identity val bar: String = "bar"
, тогда я ожидаю, что следующая печать произойдет при запуске основного проекта (пример аннотации макроса, связанный ранее):
(<empty>,List(val foo: Double = 1.1))
(<empty>,List(val bar: String = "bar"))
Это то, где я запутался, печать не происходит, когда я запускаю основной проект.Однако он появляется на долю секунды при компиляции основного проекта как предупреждение?
(я использую IntelliJ IDEA и Scala 2.12.8)