diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-01-29 00:40:40 -0800 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-01-29 00:40:40 -0800 |
commit | 1e9dcc2ed603e7179b7b5eee9212e73f773b02fd (patch) | |
tree | 2b061241dcb0964a0ab5e7686e7bf3b853dc658a /test | |
parent | da929c86696787f91c1cee775b158faeb23a9b50 (diff) | |
parent | d603cae2cd6b796534e55b25ee65385825904a10 (diff) | |
download | scala-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.check | 22 | ||||
-rw-r--r-- | test/files/neg/t8182.scala | 18 |
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 => + } +} |