64
Я хочу, чтобы иметь возможность объявить что-то вроде этого:Как настроить несколько ограничений типов в Scala?
trait Narrowable[A] extends Iterable[A] {
def narrow[B <: A & B <: AnyRef] : Iterable[B]
}
Что это тип B
должен быть как подтип A
иAnyRef
. Это возможно?
То же самое дело, рытье золота, несколько лет спустя один находит проницательные ответы Walter Chang ;-) – virtualeyes
@Walter Чанга как о **/или какой-либо один из двух верхних границы ** 'def узкий [B <: A | B <: AnyRef]: Iterable [B] ' –
@PushpendraJaiswal. Лучше всего использовать просто' Либо [A, AnyRef] ', а не ограничивать границы. –