diff options
author | Martijn Hoekstra <Martijn Hoekstra> | 2016-09-03 12:10:53 +0200 |
---|---|---|
committer | Martijn Hoekstra <Martijn Hoekstra> | 2016-09-07 22:32:51 +0200 |
commit | 32819e2edc88dd06095704c04ed9c2dd0603386f (patch) | |
tree | 5ac33b7a4fc11fe5b13aeae26e963e5553e97fad /tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala | |
parent | 6bce106fea7ce10eefc864a6e7c1351675065880 (diff) | |
download | dotty-32819e2edc88dd06095704c04ed9c2dd0603386f.tar.gz dotty-32819e2edc88dd06095704c04ed9c2dd0603386f.tar.bz2 dotty-32819e2edc88dd06095704c04ed9c2dd0603386f.zip |
honor -encoding compiler flag and defaults
rename test/pos/valueclasses to pos_valueclasses
tests/pos/valueclasses generates a valueclasses.flags
file in /tests/partest-generated/pos that conflicts
with the valueClasses.flags file that
tests/neg/valueClasses.scala tries to create
Diffstat (limited to 'tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala')
-rw-r--r-- | tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala b/tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala new file mode 100644 index 000000000..43af839ec --- /dev/null +++ b/tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala @@ -0,0 +1,29 @@ +package nullAsInstanceOfVC + +// These issues were originally reported in SI-5866 and SI-8097 +// FIXME: Make this a run test once we have run tests. + +object VCNull { + case class Foo(d: Double) extends AnyVal { + override def toString = s"Foo($d)" + } + case class Bar(s: String) extends AnyVal { + override def toString = s"Bar($s)" + } + + def testDirect(): Unit = { + val fooDirect: Foo = null.asInstanceOf[Foo] + val barDirect: Bar = null.asInstanceOf[Bar] + } + + def testIndirect(): Unit = { + val fooIndirect: Foo = { val n: Any = null; n.asInstanceOf[Foo] } + val barIndirect: Bar = { val n: Any = null; n.asInstanceOf[Bar] } + } + + def nullOf[T]: T = null.asInstanceOf[T] + def testGeneric(): Unit = { + val fooGeneric: Foo = nullOf[Foo] + val barGeneric: Bar = nullOf[Bar] + } +} |