From 6a570deed1790889f7036a00c045c15217313587 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sun, 20 Feb 2011 02:13:31 +0000 Subject: Observed that some historical issues with packa... Observed that some historical issues with package objects no longer seem so issuey. In the interests of keeping the arbitrary limitations to a minimum, re-enabled case classes in package objects (see #2130, #3437.) Closes #3437, review by odersky. --- test/files/neg/t2130.check | 4 ---- test/files/neg/t2130.scala | 6 ------ test/files/pos/bug2130-1.scala | 5 +++++ test/files/pos/bug2130-2.scala | 17 +++++++++++++++++ 4 files changed, 22 insertions(+), 10 deletions(-) delete mode 100644 test/files/neg/t2130.check delete mode 100755 test/files/neg/t2130.scala create mode 100644 test/files/pos/bug2130-1.scala create mode 100644 test/files/pos/bug2130-2.scala (limited to 'test') diff --git a/test/files/neg/t2130.check b/test/files/neg/t2130.check deleted file mode 100644 index 6d6902b121..0000000000 --- a/test/files/neg/t2130.check +++ /dev/null @@ -1,4 +0,0 @@ -t2130.scala:4: error: implementation restriction: package object foo cannot contain case class X - case class X() - ^ -one error found diff --git a/test/files/neg/t2130.scala b/test/files/neg/t2130.scala deleted file mode 100755 index 012698fd2a..0000000000 --- a/test/files/neg/t2130.scala +++ /dev/null @@ -1,6 +0,0 @@ -// for now we disallow case class in package objects -package object foo { - - case class X() - -} diff --git a/test/files/pos/bug2130-1.scala b/test/files/pos/bug2130-1.scala new file mode 100644 index 0000000000..8dd61c4d30 --- /dev/null +++ b/test/files/pos/bug2130-1.scala @@ -0,0 +1,5 @@ +package foo + +package object bar { + case class Bippy(x: Int) { } +} diff --git a/test/files/pos/bug2130-2.scala b/test/files/pos/bug2130-2.scala new file mode 100644 index 0000000000..1d0b33c3e5 --- /dev/null +++ b/test/files/pos/bug2130-2.scala @@ -0,0 +1,17 @@ +package foo + +package object bar { + class Bippy(x: Int) { + class Ding + object Ding + case class Dong(x: Float) + } + object Bippy { + class Dingus + object Dingus + case class Dongus(x: Float) + + def apply(xs: Int*) = new Bippy(xs.sum) + def apply() = new Bippy(5) + } +} -- cgit v1.2.3