summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/t1909.check3
-rw-r--r--test/files/run/t1909.scala12
-rw-r--r--test/files/run/t1909b.scala9
3 files changed, 24 insertions, 0 deletions
diff --git a/test/files/run/t1909.check b/test/files/run/t1909.check
new file mode 100644
index 0000000000..7d25be60fd
--- /dev/null
+++ b/test/files/run/t1909.check
@@ -0,0 +1,3 @@
+t1909.scala:7: warning: A try without a catch or finally is equivalent to putting its body in a block; no exceptions are handled.
+ def this(p: String) = this(try 0)
+ ^
diff --git a/test/files/run/t1909.scala b/test/files/run/t1909.scala
new file mode 100644
index 0000000000..8ead7bacf2
--- /dev/null
+++ b/test/files/run/t1909.scala
@@ -0,0 +1,12 @@
+// Until #1909 is fixed, if this compiles the bytecode
+// 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)
+}
+
+object Test extends App {
+ new Ticket1909("")
+}
diff --git a/test/files/run/t1909b.scala b/test/files/run/t1909b.scala
new file mode 100644
index 0000000000..89b2af57dc
--- /dev/null
+++ b/test/files/run/t1909b.scala
@@ -0,0 +1,9 @@
+class Ticket1909 (x: Int) {
+ def this() = this({
+ def bar() = 5
+ bar
+ })
+}
+object Test extends App {
+ new Ticket1909()
+}