Я хочу использовать предупреждение о том, что Scala возникает, когда отсутствует совпадение ( "не исчерпывающе" ), поэтому я не забываю одно (у меня есть десятки). Следующий упрощенный пример показывает мою попытку:
sealed case class MESSAGE()
class SUCCESS_MESSAGE extends MESSAGE
class FAILURE_MESSAGE extends MESSAGE
def log(str: String, msgType: MESSAGE) {
msgType match {
case t:SUCCESS_MESSAGE => println("FAILURE: " + str)
case t:FAILURE_MESSAGE => println("SUCCESS: " + str)
}
}
Проблема в том, что он говорит: "Матч не исчерпывающий!" хотя перечислены все возможные комбинации. Если бы я поставил там "case _ = > ", вся точка предупреждения была бы недействительной для меня, потому что я мог бы добавить
class INFO_MESSAGE extends MESSAGE
и предупреждение не будет выдано.
Есть ли решение?