diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-05 17:54:47 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-05 17:54:47 -0800 |
commit | 9547753a80fab450c842cb4a9a8296aa41875ff3 (patch) | |
tree | 637acdd45dbf93ba87ae6cb67d4237da652ac8c1 /test/files/run/t6677b.scala | |
parent | 4b2330b3d3db4263a8b1e19b792596dd60d79045 (diff) | |
parent | c42c1742e26dc47f940e4003e4ca25e8c738796d (diff) | |
download | scala-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.scala | 33 |
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 + } +} |