summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-03-14 14:47:09 +0000
committerMartin Odersky <odersky@gmail.com>2011-03-14 14:47:09 +0000
commit546588a134ee011e0f16d69c98d7238c7b473325 (patch)
tree6ec4231de53a319981c90172433d51d260948099
parent764072ffcbadde8b296eaa2f963f4792af2d70c4 (diff)
downloadscala-546588a134ee011e0f16d69c98d7238c7b473325.tar.gz
scala-546588a134ee011e0f16d69c98d7238c7b473325.tar.bz2
scala-546588a134ee011e0f16d69c98d7238c7b473325.zip
new test.
-rw-r--r--test/files/run/t4300.check4
-rw-r--r--test/files/run/t4300.scala25
2 files changed, 29 insertions, 0 deletions
diff --git a/test/files/run/t4300.check b/test/files/run/t4300.check
new file mode 100644
index 0000000000..f7bacac931
--- /dev/null
+++ b/test/files/run/t4300.check
@@ -0,0 +1,4 @@
+A
+A
+A
+A
diff --git a/test/files/run/t4300.scala b/test/files/run/t4300.scala
new file mode 100644
index 0000000000..243d347830
--- /dev/null
+++ b/test/files/run/t4300.scala
@@ -0,0 +1,25 @@
+
+trait A {
+ def f() = println("A")
+}
+
+class B extends A {
+ def b() = super[A].f()
+ trait C {
+ def c() = B.super[A].f()
+ }
+ def g() = for(i <- 0 until 1) super[A].f()
+ def h() = for(i <- 0 until 1) B.super[A].f()
+ override def f() = println("B")
+}
+
+
+object Test {
+ def main(args : Array[String]) : Unit = {
+ val b = new B()
+ b.b()
+ new b.C(){}.c()
+ b.g() // was ClassCastException
+ b.h() // was ClassCastException
+ }
+}