I have the following pattern matching case in a scala function:
def someFunction(sequences: Iterable[Seq[Int]]):Seq[Int] = sequences match{
case Seq() => Seq(1)
case _ => ...
...
}
And I get the following warning:
warning: non variable type-argument A in type pattern Seq[A] is unchecked since it is eliminated by erasure
case Seq(_) => Seq(1)
^
one warning found
What does this mean?
This warning is a bit spurious, and will not be present on Scala 2.10. In fact, I think it's a regression from Scala 2.8 (that is, it is not present there).
The reason for the warning is that it interprets Seq(_)
to mean Seq(_: Seq[Int])
, since that's the type parameter of sequences
, and then complaining that it can't guarantee that Int
there, since, at compile time, that will be erased. As I said, it's spurious.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.