aboutsummaryrefslogtreecommitdiff
path: root/tests/invalid/pos/t3856.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-12-20 22:00:29 +0100
committerMartin Odersky <odersky@gmail.com>2015-12-20 22:00:45 +0100
commite51b8845fb20fe3a4e1c655d4b72e2833906bbc2 (patch)
tree91bc16867d7a709566d8be80902b3256294cf338 /tests/invalid/pos/t3856.scala
parent581fee04f808d6f7759f98358e7475e6a58138e3 (diff)
downloaddotty-e51b8845fb20fe3a4e1c655d4b72e2833906bbc2.tar.gz
dotty-e51b8845fb20fe3a4e1c655d4b72e2833906bbc2.tar.bz2
dotty-e51b8845fb20fe3a4e1c655d4b72e2833906bbc2.zip
The big pending/pos test triage
Diffstat (limited to 'tests/invalid/pos/t3856.scala')
-rw-r--r--tests/invalid/pos/t3856.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/invalid/pos/t3856.scala b/tests/invalid/pos/t3856.scala
new file mode 100644
index 000000000..8dfcccb5a
--- /dev/null
+++ b/tests/invalid/pos/t3856.scala
@@ -0,0 +1,16 @@
+case class C[T](x: T)
+
+case class CS(xs: C[_]*)
+
+// t3856
+object Test {
+ val x = CS(C(5), C("abc")) match { case CS(C(5), xs : _*) => xs }
+ // Invalid: Vararg pattern cannot be split between normal and :_* patterns.
+ // This split also does not work for vararg arguments, so there's no
+ // good argument it should work for patterns
+ println(x)
+
+ def foo(xs: Int*) = ()
+ val xs = List(1, 2, 3)
+ foo(1, xs:_*)
+}