diff options
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t1909.check | 3 | ||||
-rw-r--r-- | test/files/run/t1909.scala | 12 | ||||
-rw-r--r-- | test/files/run/t1909b.scala | 9 |
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() +} |