Мне просто интересно, могу ли я разложить тип кортежа на его типы компонентов в Scala?Распаковка типов кортежей в Scala
Я имею в виду, что-то вроде этого
trait Container {
type Element
}
trait AssociativeContainer extends Container {
type Element <: (Unit, Unit)
def get(x : Element#First) : Element#Second
}
Это то, что, как я думал, мне нужно было сделать, но хотелось избежать, потому что это изменило бы реализацию классов, расширяющих эту черту. – jpalecek
Кроме того, означает ли это, что пара элементов будет такой же, как и в подклассах? Разве это не будет скорее Элемент <: (Первый, Второй) [или, возможно, нижний ограниченный]? – jpalecek