0

どのクラスを生成できるかについての制約として、バインドされたジェネリック型を使用したい状況があります。問題は、私がする必要があるということです

abstract class SomeAbstractClass

trait Foo[A <: SomeAbstractClass]

trait Bar[A] extends Foo[A]    
//  Fails error: type arguments [A] do not conform to trait Foo's type parameter bounds [A <: SomeAbstractClass]

// Need to write it like this, for every single subclass of Foo
trait Bar[A <: SomeAbstractClass] extends Foo[A]

毎回境界を再入力することなく、システムを介してそれを促進する簡単な方法はありますか?

4

2 に答える 2

1

型パラメーターの制約は制約です。あなたが望むように、それらは継承を介して推移的に伝播しません。

于 2013-04-09T04:00:51.747 に答える