From 5575b8c36859bc5d5f3a33b4491b98eed0260b8a Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sat, 15 Oct 2011 21:59:37 +0000 Subject: Harden the typer against surprise unapply types. Closes SI-5078, no review. --- test/files/neg/t5078.check | 13 +++++++++++++ test/files/neg/t5078.scala | 11 +++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/files/neg/t5078.check create mode 100644 test/files/neg/t5078.scala (limited to 'test/files/neg') 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 + () + } +} -- cgit v1.2.3