summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-10-01 07:13:09 +0000
committerschinz <schinz@epfl.ch>2003-10-01 07:13:09 +0000
commit6f759ab9caed6d09c08b39840329337dad37ec9a (patch)
tree625c1e8de668e861630e92efa04dee9145253f0e
parent89f87cd02089e18f7102c1ddbe9ef280debe9cce (diff)
downloadscala-6f759ab9caed6d09c08b39840329337dad37ec9a.tar.gz
scala-6f759ab9caed6d09c08b39840329337dad37ec9a.tar.bz2
scala-6f759ab9caed6d09c08b39840329337dad37ec9a.zip
- added a check for mixin evaluation order (bug...
- added a check for mixin evaluation order (bug #120)
-rw-r--r--test/files/run/mixins.check6
-rw-r--r--test/files/run/mixins.scala24
2 files changed, 30 insertions, 0 deletions
diff --git a/test/files/run/mixins.check b/test/files/run/mixins.check
index 18a1510925..fe3580e2d2 100644
--- a/test/files/run/mixins.check
+++ b/test/files/run/mixins.check
@@ -1,2 +1,8 @@
M1::B::f
M1::f M2::f M3::f
+one
+two
+A
+three
+B
+C
diff --git a/test/files/run/mixins.scala b/test/files/run/mixins.scala
index 0b1a43d6b4..fd1b351e71 100644
--- a/test/files/run/mixins.scala
+++ b/test/files/run/mixins.scala
@@ -49,11 +49,35 @@ object Test2 {
}
}
+// Test 3: mixin evaluation order (bug 120)
+
+object Test3 {
+ import System.out.println;
+
+ class A(x: Unit, y: Unit) {
+ println("A");
+ }
+
+ class B(x: Unit) {
+ println("B");
+ }
+
+ class C with A({ println("one"); }, { println("two"); })
+ with B({ println("three"); }) {
+ System.out.println("C");
+ }
+
+ def main(args: Array[String]) = {
+ val c = new C();
+ }
+}
+
// Main testing function
object Test {
def main(args: Array[String]): Unit = {
Test1.main(args);
Test2.main(args);
+ Test3.main(args);
}
}