Код ниже не компилируется, если я раскомментировал указанную строку. Компилятор жалуется: "требуется стабильный идентификатор".
val Empty = Stream.empty
val a = Stream.range(0, 5)
a match {
// case Stream.empty => println("nope") <-- does not work
case Empty => println("compiles") <-- works
case _ => println("ok")
}
Если я сначала присваиваю Stream.empty
значение Empty
, это работает, но странно, что вы не можете сопоставить образ с таким фундаментальным значением без такого взлома.
Я что-то пропустил?