diff options
Diffstat (limited to 'tests/run/t8233-bcode.scala')
-rw-r--r-- | tests/run/t8233-bcode.scala | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/run/t8233-bcode.scala b/tests/run/t8233-bcode.scala new file mode 100644 index 000000000..771e4cf0c --- /dev/null +++ b/tests/run/t8233-bcode.scala @@ -0,0 +1,31 @@ +object Test { + def bar(s: String) = s; + val o: Option[Null] = None + def nullReference: Unit = { + val a: Null = o.get + bar(a) // Was: VerifyError under GenICode + } + + def literal: Unit = { + val a: Null = null + bar(a) + } + + /** Check SI-8330 for details */ + def expectedUnitInABranch(b: Boolean): Boolean = { + if (b) { + val x = 12 + () + } else { + // here expected type is (unboxed) Unit + null + } + true + } + + def main(args: Array[String]): Unit = { + try { nullReference } catch { case _: NoSuchElementException => } + literal + expectedUnitInABranch(true) + } +} |