Scala 2.10.4 では、次のようにコンパイルされます。
trait Foo[-U,T]{
type Contra = U
}
しかし、2.11.0 では同じことが失敗します:
反変型 U は、型 Contra trait Foo[-U,T] {type Contra = U} の型 U の不変位置に発生します。
利用可能な回避策はありますか? Scala ライブラリを 2.11 に移植しようとすると、コンパイラが大量の暗黙的な定義を取得するために反変型が必要になります (つまり、U を不変にすることは選択肢にないようです)。
ありがとう