为什么Scala编译器错误"合成树包含非合成树"?

时间:2014-06-17 16:45:02

标签: scala scala-2.10 scalatest

我有以下测试

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:Synthetic tree [1889]包含非合成树[1874]

有谁知道导致这个问题的原因?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

将行coverageHighlighting := false添加到您的sbt中应该修复它。 Reference. 基本上它会关闭Scoverage的突出显示功能。