blob: 3833a002b17353ca4e6c01742ce20d71d993f118 (
plain) (
tree)
|
|
object Test {
case class K(i: Int)
def main(args: Array[String]) {
val k = new K(9)
val is = List(1,2,3)
is match {
case List(1, _*,) => // bad use of _* (a sequence pattern must be the last pattern)
// illegal start of simple pattern
case List(1, _*3,) => // illegal start of simple pattern
//case List(1, _*3:) => // poor recovery by parens
case List(1, x*) => // use _* to match a sequence
case List(x*, 1) => // trailing * is not a valid pattern
case (1, x*) => // trailing * is not a valid pattern
case (1, x@_*) => // bad use of _* (sequence pattern not allowed)
}
// good syntax, bad semantics, detected by typer
//gowild.scala:14: error: star patterns must correspond with varargs parameters
val K(is @ _*) = k
val K(ns @ _*, x) = k // bad use of _* (a sequence pattern must be the last pattern)
val (b, _ * ) = Pair(5,6) // bad use of _* (sequence pattern not allowed)
// no longer complains
//bad-and-wild.scala:15: error: ')' expected but '}' found.
}
}
|