I see the term "implicit evidence" in many SOF and blog posts, related to runtime retention of type information. I searched the net but have not found any simple explanation what "implicit evidence" is.
This concept comes up, for example, here.
EDIT:
A comment to Travis' nice answer:
From Predef.scala:
sealed abstract class <:<[-From, +To] extends (From => To)
with Serializable
private[this] final val singleton_<:< =
new <:<[Any,Any] { def apply(x: Any): Any = x }
implicit def conforms[A]: A <:< A = singleton_<:<.asInstanceOf[A <:< A]
I don't see how the unzip
's "asPair
" function parameter can be derived from singleton_<:<.asInstanceOf[A <:< A]
. Could someone please comment on this?