这感觉真的很基础;我很抱歉。“压倒一切”继承差异
考虑
trait Foo[+T] { def t : T }
trait Bar[+S,+T] extends Foo[T] { def s : S }
trait Baz[+S,T] extends Foo[T] { def s : S }
是否T在富协方差自动适用于巴兹,即使T IN巴兹没有标记为协变? Bar和Baz的行为会有什么有意义的区别吗?如果它们是相同的,不知何故,它觉得肮脏,巴兹形式不会警告或表示错误,因为单看巴兹,你会期望T不会出现)
编译器将执行一定的方差,你将不能够使用任何通用类与它们的方差不一致的方式(即,值轴承其类型参数)。 – 2013-03-06 02:53:46
谢谢! (我想我明白了;见下面的回答,如果你想了解什么使我困惑。) – 2013-03-06 02:57:18