diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2016-01-29 15:09:45 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2016-01-29 15:09:45 +1000 |
commit | ddd83de2bc44471353e34d20fae037cc88267838 (patch) | |
tree | 1f774ad5d590aed133e3cac15efb917a1568c7c3 /test/files/neg | |
parent | 6f9c65d784ddc0df3accf8ca821c7f9e081110f0 (diff) | |
parent | b2093f2345b991fa4774950c5505621ab6445897 (diff) | |
download | scala-ddd83de2bc44471353e34d20fae037cc88267838.tar.gz scala-ddd83de2bc44471353e34d20fae037cc88267838.tar.bz2 scala-ddd83de2bc44471353e34d20fae037cc88267838.zip |
Merge pull request #4917 from retronym/ticket/9629
SI-9629 Emit missing 'pattern must be a value' error
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t9629.check | 17 | ||||
-rw-r--r-- | test/files/neg/t9629.scala | 12 |
2 files changed, 29 insertions, 0 deletions
diff --git a/test/files/neg/t9629.check b/test/files/neg/t9629.check new file mode 100644 index 0000000000..4eafa84236 --- /dev/null +++ b/test/files/neg/t9629.check @@ -0,0 +1,17 @@ +t9629.scala:4: error: pattern must be a value: Option[Int] +Note: if you intended to match against the class, try `case _: Option[_]` + case Option[Int] => // error was issued before + ^ +t9629.scala:5: error: pattern must be a value: Option[Int] +Note: if you intended to match against the class, try `case _: Option[_]` + case Some(Option[Int]) => // error was skipped, patmat issued an internal error + ^ +t9629.scala:8: error: pattern must be a value: Option[Int] +Note: if you intended to match against the class, try `case _: Option[_]` + case (_, Option[Int]) => + ^ +t9629.scala:9: error: pattern must be a value: Option[Int] +Note: if you intended to match against the class, try `case _: Option[_]` + case x @ (y @ Option[Int]) => + ^ +four errors found diff --git a/test/files/neg/t9629.scala b/test/files/neg/t9629.scala new file mode 100644 index 0000000000..2be2b039f2 --- /dev/null +++ b/test/files/neg/t9629.scala @@ -0,0 +1,12 @@ +class Test { + def foo(a: Any) { + a match { + case Option[Int] => // error was issued before + case Some(Option[Int]) => // error was skipped, patmat issued an internal error + + // variations + case (_, Option[Int]) => + case x @ (y @ Option[Int]) => + } + } +} |