summaryrefslogtreecommitdiff
path: root/test/files/run/t6677b.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-12-05 17:54:47 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-12-05 17:54:47 -0800
commit9547753a80fab450c842cb4a9a8296aa41875ff3 (patch)
tree637acdd45dbf93ba87ae6cb67d4237da652ac8c1 /test/files/run/t6677b.scala
parent4b2330b3d3db4263a8b1e19b792596dd60d79045 (diff)
parentc42c1742e26dc47f940e4003e4ca25e8c738796d (diff)
downloadscala-9547753a80fab450c842cb4a9a8296aa41875ff3.tar.gz
scala-9547753a80fab450c842cb4a9a8296aa41875ff3.tar.bz2
scala-9547753a80fab450c842cb4a9a8296aa41875ff3.zip
Merge pull request #1716 from paulp/merge-2.10
Merged 2.10.0/x into master.
Diffstat (limited to 'test/files/run/t6677b.scala')
-rw-r--r--test/files/run/t6677b.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/files/run/t6677b.scala b/test/files/run/t6677b.scala
new file mode 100644
index 0000000000..e4fe5e3722
--- /dev/null
+++ b/test/files/run/t6677b.scala
@@ -0,0 +1,33 @@
+trait U {
+ trait U1 {
+ class X
+ }
+ type U11 <: U1
+ val u : U11 = null.asInstanceOf[U11]
+}
+trait A extends U
+
+trait B extends U {
+ def foo = ""
+ class U11 extends U1 { class X extends super.X { foo } } // refer to foo to add $outer pointer
+ override val u = new U11
+}
+class C {
+ val ab: A with B = new A with B // `B with A` works.
+
+ def foo {
+ // fails
+ new ab.u.X
+
+ // works:
+ val u = ab.u
+ new u.X
+ }
+}
+object Test {
+ def main(args: Array[String]) {
+ // java.lang.NoSuchMethodError: A.u()LB$U11;
+ // at C.foo(t6677b.scala:23)
+ new C().foo
+ }
+}