scala/scala — pull request #2625 by paulp (2013-06-04 19:27:57+00:00)
Title: SI-6899, prohibit dangerous, useless implicit conversions.

Increase eligibility requirements for implicit conversions, such that T => U
is ineligible if

T <: Null AnyRef <: U

This has the salutary effect of allowing us to ditch 16 ridiculous implicits
from Predef, since they existed solely to work around the absence of this
restriction.

There was one tiny impact on actual source code (one line in one file) shown
here, necessitated because the literal null is not eligible to be implicitly
converted to A via <:<.

def f[A](implicit ev: Null <:< A): A = null // before
def f[A](implicit ev: Null <:< A): A = ev(null) // after

As impositions go it's on the tame side.