Suporte de biblioteca para o traço NotNull do Scala

Aviso prévio: A partir do Scala 2.11,NotNull está obsoleto.

Tanto quanto eu entendo, se você quiser um tipo de referência para ser não anulável você tem que misturar a magiaNotNull traço, eo compilador irá automaticamente impedi-lo de colocarnullvalores possíveis nele. Veja issothread de lista de discussão por exemplo.

O que falta é um suporte de biblioteca decente para tipos não anuláveis. Se eu gostaria de escrever um pacote que não precisa interagir diretamente com código java, e eu quero evitar que todos os tipos neste pacote usemnull por padrão, não tenho escolha a não ser redefinir todas as variáveis ​​de builting assim

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

Espero que o scala tenha (como um plugin de compilador, ou biblioteca) a opção para eu escrever

import collections.notnull._

a fim de facilmente proibirnull uso em um arquivo scala específico.

Existe uma opção para forçar facilmente muitos tipos úteis na biblioteca padrão para não serem anuláveis?

questionAnswers(1)

yourAnswerToTheQuestion