Scala2.8.0とのソースの非互換性のいくつかのケースがあります。たとえば、かつては匿名を作成する必要があり、現在はと呼ばれてSeqいる抽象を定義します。def elements : Iterator[A]def iterator : Iterator[A]
私にとって、「強引な」解決策は、異なる主要なScalaバージョンに合わせて2つのブランチを作成することです。
このようなコードが両方のシステムでコンパイルされるようにするための一般的な手法はありますか?
// 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
}