Интересно, в чем причина (неявного ev: Null <:> здесь:
sealed abstract class Option[+A] extends Product with Serializable {
def orNull[A1 >: A](implicit ev: Null <:< A1): A1 = this getOrElse null
...
}
Разве
def orNull[A]: A = this getOrElse null
будет недостаточно, учитывая, что он даже не работает с такими типами значений, как
Option(1).orNull
, а
Option(1).getOrElse(null)
работает?
Вариант
исходный код