私はこのようなことを宣言できるようにしたいと思います:
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A & B <: AnyRef] : Iterable[B]
}
つまり、タイプB
は両方ともA
およびAnyRef
のサブタイプである必要があります。これは可能ですか?
複合タイプを使用:
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A with AnyRef] : Iterable[B]
}