Pourquoi la conversion implicite suivante ne fonctionne-t-elle pas même si l'appel explicite fonctionne?Pourquoi cette conversion implicite Scala échoue-t-elle lorsque la conversion explicite fonctionne?
scala> implicit def view[A, C](xs: C)(implicit ev: C <:< Iterable[A]) = new { def bar = 0 }
view: [A, C](xs: C)(implicit ev: <:<[C,scala.collection.immutable.Iterable[A]])java.lang.Object{def bar: Int}
scala> List(1) bar
<console>:147: error: Cannot prove that List[Int] <:< scala.collection.immutable.Iterable[A].
List(1) bar
^
scala> view(List(1)) bar
res37: Int = 0
J'ai mis votre code dans l'EDI scala eclipse et il l'a échoué sur trois points - la vue de la valeur n'est pas un membre de AnyRef (barre de def: Int) Note: vue implicite non applicable ici; identifiant attendu mais '[' trouvé; introuvable: erreur de type. –