Ограничение высших типов в Scala

Допустим, у меня есть более высокий родственный тип

SuperMap[Key[_],Value[_]]`.  

Предположим теперь, что у меня есть что-то еще более конкретное, требующее, чтобы параметр типа для Key совпадал с параметром для Value ; то есть что-то вроде:

SuperDuperMap[T, Key[T], Value[T]]

Далее предположим, что мне нужен не какой-нибудь T , а очень конкретный, где T <: OtherT

SuperDuperPooperMap[T <: OtherT, Key[T], Value[T]]

Можно ли это сделать в Scala? Это вообще плохая идея? Есть ли эквивалентный способ сделать это, более простой для чтения / записи / использования?

7
задан duckworthd 8 February 2012 в 05:42
поделиться