summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-10-22 21:59:37 +0000
committerPaul Phillips <paulp@improving.org>2009-10-22 21:59:37 +0000
commit92cfcd43997dc090edc35029ada027ed986a25e2 (patch)
treefecd6bb4b011a0b50849ebfb95f5ece52fa39cb0 /test/files/neg
parentdab03ce57930c24534e46664b676eab1928ca34a (diff)
downloadscala-92cfcd43997dc090edc35029ada027ed986a25e2.tar.gz
scala-92cfcd43997dc090edc35029ada027ed986a25e2.tar.bz2
scala-92cfcd43997dc090edc35029ada027ed986a25e2.zip
The last patch to work around #1909 caught one ...
The last patch to work around #1909 caught one brand of lifts but not another. Better now and another test case.
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/bug1909.check2
-rw-r--r--test/files/neg/bug1909.scala8
-rw-r--r--test/files/neg/bug1909b.check4
-rw-r--r--test/files/neg/bug1909b.scala6
4 files changed, 16 insertions, 4 deletions
diff --git a/test/files/neg/bug1909.check b/test/files/neg/bug1909.check
index 631c60d5f0..6ffbb4fccc 100644
--- a/test/files/neg/bug1909.check
+++ b/test/files/neg/bug1909.check
@@ -1,4 +1,4 @@
-bug1909.scala:5: error: Implementation restriction: auxiliary constructor calls may not use expressions which require lifting.
+bug1909.scala:7: error: Implementation restriction: auxiliary constructor calls may not use expressions which require lifting.
def this(p: String) = this(try 0)
^
one error found
diff --git a/test/files/neg/bug1909.scala b/test/files/neg/bug1909.scala
index 4fae4e5414..01213f62a3 100644
--- a/test/files/neg/bug1909.scala
+++ b/test/files/neg/bug1909.scala
@@ -1,6 +1,8 @@
// Until #1909 is fixed, if this compiles the bytecode
-// will trigger a VerifyError.
-class Class {
+// will trigger a VerifyError. This liftings and the one
+// in 1909b.scala actually happen in two different places
+// (uncurry and lambdalifter.)
+class Ticket1909 {
def this(value: Int) = this()
def this(p: String) = this(try 0)
-} \ No newline at end of file
+}
diff --git a/test/files/neg/bug1909b.check b/test/files/neg/bug1909b.check
new file mode 100644
index 0000000000..d55c5e403b
--- /dev/null
+++ b/test/files/neg/bug1909b.check
@@ -0,0 +1,4 @@
+bug1909b.scala:3: error: Implementation restriction: auxiliary constructor calls may not use expressions which require lifting.
+ def bar() = 5
+ ^
+one error found
diff --git a/test/files/neg/bug1909b.scala b/test/files/neg/bug1909b.scala
new file mode 100644
index 0000000000..b914bee366
--- /dev/null
+++ b/test/files/neg/bug1909b.scala
@@ -0,0 +1,6 @@
+class Ticket1909 (x: Int) {
+ def this() = this({
+ def bar() = 5
+ bar
+ })
+} \ No newline at end of file