Предположим, у меня есть черта, определенная как
trait SomeTrait[A] {
def doSomething(): Seq[A]
}
и несколько классов, которые расширяют эту черту следующим образом.
class SomeClass extends SomeTrait[SomeType] {
def doSomething(): Seq[SomeType] = {
:
}
}
Теперь в другом классе я хочу сохранить коллекцию экземпляров классов, расширяющих эту черту.
class AnotherClass {
pirvate val someClassInstances = mutable.Buffer[SomeTrait[_]]()
def addSomeClass[A](sc: SomeTrait[A]): Unit = {
this.someClassInstances += sc
}
}
Как мне избежать использования экзистенциального типа здесь?