为什么不下面产生警告,失踪警告时-unchecked
启用:非详尽的比赛
object Order {
sealed trait EntryOption
case object EmptyEntry extends EntryOption
trait Entry extends EntryOption
def isEmpty(a: EntryOption): Boolean = a match {
case EmptyEntry => true
// case _: Entry => false
}
}
看来我有完全相同的斯卡拉2.8.0的日子same problem before,没有足够的答案。
编辑
@Jed它不会对我意义的警告只发出一个非抽象类Entry
。考虑以下情况:
trait Order {
sealed trait EntryOption
case object EmptyEntry extends EntryOption
abstract sealed class Entry extends EntryOption
def isEmpty(a: EntryOption): Boolean = a match {
case EmptyEntry => true
// case _: Entry => false
}
}
trait OrderImpl extends Order {
final class EntryImpl extends Entry
}
只有这样,才能使警告显示是有一个具体的类Order
Entry
!
https://issues.scala-lang.org/browse/SI-4691 –