У меня есть следующий класс case:
case class Alert[T <: Transport](destination: Destination[T], message: Message[T])
В Scala 2.9.2 следующая сигнатура метода скомпилирована нормально:
def send(notification: Alert[_]) {
notification match {
...
}
}
Теперь в Scala 2.10.1 не компилируется со следующей ошибкой:
type arguments [_$1] do not conform to class Alert's type parameter bounds [T <: code.notifications.Transport]
Почему это? Как я могу исправить ошибку? Простое указание границ одного и того же типа для send
приводит к гораздо большему количеству ошибок компиляции...
Обновление: смотрите SIP-18, я не думаю, что причина в том, что у меня не включены экзистенциальные типы, поскольку SIP-18 говорит, что это необходимо только для типов без подстановочных знаков, что у меня здесь и есть.