aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala
diff options
context:
space:
mode:
authorMartijn Hoekstra <Martijn Hoekstra>2016-09-03 12:10:53 +0200
committerMartijn Hoekstra <Martijn Hoekstra>2016-09-07 22:32:51 +0200
commit32819e2edc88dd06095704c04ed9c2dd0603386f (patch)
tree5ac33b7a4fc11fe5b13aeae26e963e5553e97fad /tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala
parent6bce106fea7ce10eefc864a6e7c1351675065880 (diff)
downloaddotty-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.scala29
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]
+ }
+}