У меня есть простой код в Scala, чтобы попробовать simulacrum lib:
import simulacrum._
@typeclass trait Semigroup[A] {
@op("|+|") def append(x: A, y: A): A
}
Но это не работает.Компилятор говорит
Ошибка: (3, 2) реализация макроса не найдена: macroTransform (наиболее распространенная причина этого заключается в том, что вы не можете использовать реализации макроса в том же прогоне компиляции, который их определяет) @typeclass traitПолугруппа [A] {
Что может вызвать эту ошибку?Я не создаю макрос, я просто повторно использую существующий.
Мой файл build.sbt прост:
name := "Macr"
version := "0.1"
scalaVersion := "2.12.5"
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
libraryDependencies += "com.github.mpilquist" %% "simulacrum" % "0.12.0"