我有以下案例类:
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 说它只需要非通配符类型,这正是我在这里所拥有的。