From 118a288beecc155c7c84ecbebf6f00bc87594607 Mon Sep 17 00:00:00 2001 From: Geoffrey Washburn Date: Tue, 9 Sep 2008 10:03:31 +0000 Subject: New test concerning volatile intersections. --- test/files/neg/volatile-intersection.check | 4 ++++ test/files/neg/volatile-intersection.scala | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 test/files/neg/volatile-intersection.check create mode 100644 test/files/neg/volatile-intersection.scala (limited to 'test') diff --git a/test/files/neg/volatile-intersection.check b/test/files/neg/volatile-intersection.check new file mode 100644 index 0000000000..ef983994ab --- /dev/null +++ b/test/files/neg/volatile-intersection.check @@ -0,0 +1,4 @@ +volatile-intersection.scala:8: error: illegal type selection from volatile type C.this.D with C.this.U + val y: (D with U)#T = new B { } + ^ +one error found diff --git a/test/files/neg/volatile-intersection.scala b/test/files/neg/volatile-intersection.scala new file mode 100644 index 0000000000..086c474a37 --- /dev/null +++ b/test/files/neg/volatile-intersection.scala @@ -0,0 +1,21 @@ +object Test extends Application { + trait A + trait B extends A + + trait C { + type U + trait D { type T >: B <: A } + val y: (D with U)#T = new B { } + } + + class D extends C { + trait E + trait F { type T = E } + type U = F + def frob(arg : E) : E = arg + frob(y) + } + + new D +} + -- cgit v1.2.3