爲什麼不下面產生警告,失蹤警告時-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 –