有一些与 Scala 2.8.0 源不兼容的情况。例如,创建匿名Seq
曾经需要定义抽象def elements : Iterator[A]
,现在称为def iterator : Iterator[A]
。
对我来说,“蛮力”解决方案是创建两个与不同主要 scala 版本对齐的分支。
是否有通用技术可以在两个系统下编译这样的代码?
// Note: this code resembles techniques used by xml.NodeSeq
trait FooSeq extends Seq[ Foo ] {
def internal : Seq[ Foo ]
def elements = internal.elements
def iterator = internal.iterator // Only compiles in 2.8
// need to remove for 2.7.X
}