无法在宏

时间:2017-02-20 00:20:30

标签: scala compiler-errors macros sbt scalac

我一直在追逐以下问题很长一段时间,我希望有比这更有经验的人可以帮我解决。

在我的测试用例中,确切的错误如下:

  

java.lang.IllegalArgumentException:找不到val用户的代理:specs.BasicSpec#List中的用户(值用户,方法applyOrElse,方法$ anonfun $ new $ 97,value fiveLetterNames,method $ anonfun $ new $ 90,method $ anonfun $ new $ 20,value,class BasicSpec,package specs,package)(currentOwner = value fiveLetterNames)

测试可以在这里找到:

https://github.com/outr/reactify/blob/master/shared/src/test/scala/specs/BasicSpec.scala#L227

这是令人讨厌的宏:

https://github.com/outr/reactify/blob/master/shared/src/main/scala/com/outr/reactify/Macros.scala#L72

如果没有错误的更多信息,我将不知道如何解决这个问题。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我的项目遇到了同样的问题。解决方案是不要在宏中多次使用相同的“lambda”*。

“lambda”如下:

save()

P.S。实际上我现在看不到您的原始代码。这是我的案例中的解决方案