为什么 Scala 编译器会出错"Synthetic tree contains nonsynthetic tree"?



我有以下测试

test("should create cached thread pool") {
    val globalContextMock: LogContextPropagatingEC = mock[LogContextPropagatingEC]
    val util = new PaymentExecutionContextImpl with ApplicationConfigTest2 {
        override protected lazy val globalExecutionContext = globalContextMock
    }
    val systemContext = util.systemExecutionContext
    assert(!systemContext.eq(globalContextMock), "system execution context should be a new instance, different form global mock")
}

会导致Scala编译以下错误:

RangePositions$ValidateException:合成树[1889]包含非合成树[1874]

有谁知道是什么导致了这个问题吗?

您正在编译-Yrangepos?如果是这样,并且您使用的是2.10,则这是编译器验证(可能)被宏修改的树的错误/问题。

在sbt中添加一行:coverageHighlighting := false应该可以解决这个问题。参考。基本上它会关闭Scoverage的高亮显示功能

最新更新