Obsługa bibliotek dla cechy NotNull Scali

Ogłoszenie: Od Scala 2.11,NotNull jest przestarzałe.

O ile rozumiem, jeśli chcesz, aby typ odniesienia był niezawodny, musisz wymieszać magięNotNull cecha, a kompilator automatycznie uniemożliwi wprowadzenienullmożliwe wartości. Zobaczwątek listy dyskusyjnej na przykład.

Czego brakuje, to przyzwoita obsługa bibliotek dla typów niezawierających wartości null. Jeśli chciałbym napisać pakiet, który nie wymaga bezpośredniego interfejsu kodu Java, i chcę zapobiec używaniu wszystkich typów w tym pakiecienull domyślnie nie mam innego wyboru, jak przedefiniować wszystkie zmienne builtingu w ten sposób

//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
...

Spodziewam się, że scala będzie miała (jako wtyczkę kompilatora lub bibliotekę) opcję do napisania

import collections.notnull._

w celu łatwego odrzucenianull użycie w określonym pliku scala.

Czy istnieje możliwość łatwego wymuszenia, aby wiele użytecznych typów w standardowej bibliotece nie było pustych?

questionAnswers(1)

yourAnswerToTheQuestion