aboutsummaryrefslogtreecommitdiff
path: root/tests/pickling/unions.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-08 22:02:22 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:16:37 +0100
commit5962a931c83622ce065bc1ce9add049ade89bfcf (patch)
tree24851bbc76f1ca537456715c44a9f866a5c00668 /tests/pickling/unions.scala
parent19bfc0c6c9be9c4c3fdca55480e01e980a493b42 (diff)
downloaddotty-5962a931c83622ce065bc1ce9add049ade89bfcf.tar.gz
dotty-5962a931c83622ce065bc1ce9add049ade89bfcf.tar.bz2
dotty-5962a931c83622ce065bc1ce9add049ade89bfcf.zip
Pickling test reorg
Move pickling tests into separate top-level test directory. That way they are not needlessly pos-tested before. Also, disable core tests for now - after rebasing we get a stale symbol error. Need to investigate that.
Diffstat (limited to 'tests/pickling/unions.scala')
-rw-r--r--tests/pickling/unions.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/pickling/unions.scala b/tests/pickling/unions.scala
new file mode 100644
index 000000000..22e6391e3
--- /dev/null
+++ b/tests/pickling/unions.scala
@@ -0,0 +1,33 @@
+object unions {
+
+ class A {
+ def f: String = "abc"
+
+ def g(x: Int): Int = x
+ def g(x: Double): Double = x
+ }
+
+ class B {
+ def f: String = "bcd"
+
+ def g(x: Int) = -x
+ def g(x: Double): Double = -x
+ }
+
+ val x: A | B = if (true) new A else new B
+ def y: B | A = if (true) new A else new B
+ println(x.f)
+ println(x.g(2))
+ println(y.f)
+ println(y.g(1.0))
+ println(y.g(1.0f))
+
+ class C {
+ private def foo = 0
+ class D extends C {
+ private def foo = 1
+ def test(cd: C | D, dc: D | C) = (cd.foo, dc.foo)
+ }
+ }
+
+}