Интересно, в чем причина (implicit ev: Null <:< A1)
здесь:
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)
имеет?
Option
* исходный код