Поддержка библиотеки для черты NotNull Scala

Обратите внимание: Начиная с версии Scala 2.11,NotNull не рекомендуется.

Насколько я понимаю, если вы хотите, чтобы ссылочный тип не обнулялся, вы должны смешать магиюNotNull черта, и компилятор автоматически помешает вам поставитьnullВозможные значения в нем. Посмотри этопоток рассылки например.

Чего не хватает, так это приличной поддержки библиотек для необнуляемых типов. Если я хотел бы написать пакет, который не должен напрямую взаимодействовать с Java-кодом, и я хочу запретить использование всеми типами в этом пакетеnull по умолчанию у меня нет выбора, кроме как переопределить все переменные построения, как так

//can't actually do that, but just to give the general idea
class NString extends String with NotNull
class NMap[X,Y] extends Map[X,Y] with NotNull
...

Я ожидаю, что Scala будет иметь (как плагин компилятора или библиотеки) вариант для меня, чтобы написать

import collections.notnull._

для того, чтобы легко запретитьnull использование в определенном файле Scala.

Есть ли возможность легко заставить многие полезные типы в стандартной библиотеке быть не обнуляемыми?

Ответы на вопрос(1)

Ваш ответ на вопрос