Soporte bibliotecario para el rasgo NotNull de Scala

Darse cuenta: A partir de Scala 2.11,NotNull es obsoleto.

Por lo que yo entiendo, si quieres que un tipo de referencia no sea anulable, tienes que mezclar la magiaNotNull rasgo, y el compilador evitará automáticamente que pongasnullValores posibles en ella. Mira estohilo de la lista de correo por ejemplo.

Lo que falta es un soporte de biblioteca decente para los tipos no anulables. Si quisiera escribir un paquete que no necesita interactuar directamente con el código Java, y quiero evitar que todos los tipos en este paquete utilicennull de forma predeterminada, no tengo más remedio que redefinir todas las variables de creación como así

//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 Scala tenga (como complemento de compilador o biblioteca) la opción para que escriba

import collections.notnull._

con el fin de rechazar fácilmentenull Uso en un archivo específico de Scala.

¿Hay una opción para forzar fácilmente que muchos tipos útiles en la biblioteca estándar no sean anulables?

Respuestas a la pregunta(1)

Su respuesta a la pregunta