summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-01-29 00:40:40 -0800
committerJason Zaugg <jzaugg@gmail.com>2014-01-29 00:40:40 -0800
commit1e9dcc2ed603e7179b7b5eee9212e73f773b02fd (patch)
tree2b061241dcb0964a0ab5e7686e7bf3b853dc658a /test
parentda929c86696787f91c1cee775b158faeb23a9b50 (diff)
parentd603cae2cd6b796534e55b25ee65385825904a10 (diff)
downloadscala-1e9dcc2ed603e7179b7b5eee9212e73f773b02fd.tar.gz
scala-1e9dcc2ed603e7179b7b5eee9212e73f773b02fd.tar.bz2
scala-1e9dcc2ed603e7179b7b5eee9212e73f773b02fd.zip
Merge pull request #3418 from som-snytt/issue/8182-b
SI-8182 Avert crash due to type args in pattern
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t8182.check22
-rw-r--r--test/files/neg/t8182.scala18
2 files changed, 40 insertions, 0 deletions
diff --git a/test/files/neg/t8182.check b/test/files/neg/t8182.check
new file mode 100644
index 0000000000..a156d70883
--- /dev/null
+++ b/test/files/neg/t8182.check
@@ -0,0 +1,22 @@
+t8182.scala:4: error: illegal start of simple pattern
+}
+^
+t8182.scala:7: error: illegal start of simple pattern
+}
+^
+t8182.scala:6: error: type application is not allowed in pattern
+ val a b[B] // error then continue as for X
+ ^
+t8182.scala:10: error: illegal start of simple pattern
+ case a b[B] => // bumpy recovery
+ ^
+t8182.scala:10: error: type application is not allowed in pattern
+ case a b[B] => // bumpy recovery
+ ^
+t8182.scala:11: error: '=>' expected but '}' found.
+ }
+ ^
+t8182.scala:16: error: type application is not allowed in pattern
+ case a B[T] b =>
+ ^
+7 errors found
diff --git a/test/files/neg/t8182.scala b/test/files/neg/t8182.scala
new file mode 100644
index 0000000000..1b3bc9821f
--- /dev/null
+++ b/test/files/neg/t8182.scala
@@ -0,0 +1,18 @@
+
+trait X {
+ val a b // something missing
+}
+trait Y {
+ val a b[B] // error then continue as for X
+}
+trait Z {
+ (null: Any) match {
+ case a b[B] => // bumpy recovery
+ }
+}
+object B { def unapply[W](a: Any) = Some((1,2)) }
+trait Z {
+ (null: Any) match {
+ case a B[T] b =>
+ }
+}