TL;DR:似乎类型别名的类型参数(例如type T[X<:Serializable])在作为变量、参数或其他情况引用时不会强制执行它们的约束。但是,Case类确实正确地实施了其参数的界限。alias SerializableListscala> case class NetworkDataCC(things: SerializableList
在阅读了及其由Daniel提供的答案,以及“Scala中的编程”一书第19.3至19.7节之后,我对函数1-A,+B的定义有了另一个困惑:为什么它的第一个类型参数是相反的?我有一个原因,就是这个类型参数保证在有多个情况时,子类型总是出现在超类之前,同时,子类型“是一个”超级类型。例如: class B extends A