Предупреждение об аргументе типа непроверенном в этом соответствии образца Scala?

Этот файл:

object Test extends App {
    val obj = List(1,2,3) : Object
    val res = obj match {
       case Seq(1,2,3) => "first"
       case _ => "other"
    }
    println(res)
}

Дает это предупреждение:

Test.scala:6: warning: non variable type-argument A in type pattern Seq[A]  
is unchecked since it is eliminated by erasure
   case Seq(1,2,3) => "first"

версия 2.9.0.1.

Scala я не вижу, как стертый параметр типа необходим для выполнения соответствия. Тот первый пункт чехла предназначен, чтобы спросить, является ли obj Seq с 3 элементами, равными 1, 2, и 3.

я понял бы это предупреждение, если я записал что-то как:

case strings : Seq[String] => ...

, Почему я получаю предупреждение, и что хороший путь состоит в том, чтобы заставить его уйти?

Между прочим, я действительно хочу соответствовать против чего-то статическому типу Объекта. В реальном коде я анализирую что-то как данная величина Lisp - это могла бы быть Последовательность, последовательность данных, Символа, Числа, и т.д.

13
задан Qantas 94 Heavy 1 May 2014 в 09:10
поделиться