diff options
author | Paul Phillips <paulp@improving.org> | 2011-10-15 21:59:37 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-10-15 21:59:37 +0000 |
commit | 5575b8c36859bc5d5f3a33b4491b98eed0260b8a (patch) | |
tree | 624b16e2f9aae20f1c36c0639c1227b770c47a48 /test | |
parent | 5690452698acafe6e4843bb08a14f6ca1cc55f8a (diff) | |
download | scala-5575b8c36859bc5d5f3a33b4491b98eed0260b8a.tar.gz scala-5575b8c36859bc5d5f3a33b4491b98eed0260b8a.tar.bz2 scala-5575b8c36859bc5d5f3a33b4491b98eed0260b8a.zip |
Harden the typer against surprise unapply types.
Closes SI-5078, no review.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t5078.check | 13 | ||||
-rw-r--r-- | test/files/neg/t5078.scala | 11 |
2 files changed, 24 insertions, 0 deletions
diff --git a/test/files/neg/t5078.check b/test/files/neg/t5078.check new file mode 100644 index 0000000000..8f66445b03 --- /dev/null +++ b/test/files/neg/t5078.check @@ -0,0 +1,13 @@ +t5078.scala:7: error: an unapply method must accept a single argument. + val Foo(x1) = 1 + ^ +t5078.scala:7: error: recursive value x1 needs type + val Foo(x1) = 1 + ^ +t5078.scala:8: error: an unapply method must accept a single argument. + val Foo2(y2) = 2 + ^ +t5078.scala:8: error: recursive value y2 needs type + val Foo2(y2) = 2 + ^ +four errors found diff --git a/test/files/neg/t5078.scala b/test/files/neg/t5078.scala new file mode 100644 index 0000000000..2e727e773d --- /dev/null +++ b/test/files/neg/t5078.scala @@ -0,0 +1,11 @@ +object Foo { def unapply: Option[Int] = Some(42) } +object Foo2 { def unapply(): Option[Int] = Some(42) } + + +object Test { + def main(args: Array[String]): Unit = { + val Foo(x1) = 1 + val Foo2(y2) = 2 + () + } +} |