Please warn on:
implicit val _ = 42
implicitly[Int]
Normally, an extractor pattern would either fail or implicit is available.
scala> object X { def unapply(s: String) = Option(s.tail) }
defined object X
scala> val X(s) = "hello"
s: String = ello
scala> val X(_) = "hello"
scala> implicit val X(_) = "hello"
scala> implicitly[String]
^
error: could not find implicit value for parameter e: String
#10384