Ограничения типа Scala для конструктора типов

Может кто-нибудь объяснить, почему следующее не компилируется? Я хочу, чтобы BB [A] также был списком List [A] . Тело метода обеспечивает только это представление.

scala> def x[A, BB[_] <: List[_]](p: BB[A]) {p: List[A]}
<console>:8: error: type mismatch;
 found   : BB[A]
 required: List[A]

       def x[A, BB[_] <: List[_]](p: BB[A]) {p: List[A]}
                                             ^
5
задан ziggystar 27 June 2011 в 12:51
поделиться