KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Why does the following occur in Scala 2.9.0.1? scala> def f(xs: Seq[Either[Int,String]]) = 0 f: (xs: Seq[Either[Int,String]])Int scala> val xs = List(Left(0), Right("a")).iterator.toArray xs: Array[Product with Serializable with Either[Int,java.lang.String]] = Array(Left(0), Right(a)) scala> f(xs) res39: Int = 0 scala> f(List(Left(0), Right("a")).iterator.toArray) <console>:9: error: polymorphic expression cannot be instantiated to expected type; found : [B >: Product with Serializable with Either[Int,java.lang.String]]Array[B] required: Seq[Either[Int,String]] f(List(Left(0), Right("a")).iterator.toArray) ^ Update : Debilski suggests a better example (not 100% sure this is demonstrating the same underlying phenomenon): Seq(0).toArray : Seq[Int] // compiles Seq(Some(0)).toArray : Seq[Option[Int]] // doesn't
Tags (comma-separated)
Save Edits
Cancel