Je suis désolé pour un tel titre non descriptif, mais je ne sais vraiment pas comment l'exprimer mieux.Qu'est-ce qui ne va pas avec ça (bug du compilateur)?
class Foo[T]
Seq(new Foo[String], new Foo[Int]).groupBy(_ => 1).map { case (k, Seq(v)) => k -> v }.toMap
<console>:12: error: Cannot prove that (Int, Foo[_146]) forSome { type _146 >: Int with String } <:< (T, U).
WTF? Si j'utilise .mapValues
au lieu de .map
, cela fonctionne. Aussi, en faisant Foo
covariant le corrige aussi, mais dans ce cas, je me retrouve avec Map[Int,Foo[Any]]
Que se passe-t-il ici? Des idées?
Quel type avez-vous * voulez * à la fin? – Bergi
'Carte [Int, Foo [_]]' serait bon – Dima