summaryrefslogtreecommitdiff
path: root/test/files/run/bugs.scala
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-10-02 12:37:06 +0000
committerpaltherr <paltherr@epfl.ch>2003-10-02 12:37:06 +0000
commit4500aea22473b9ce61e4487e3cceeedb26382d8d (patch)
treea5cc5079bd6bd94ab9aafdc1a6115e343fc44c1d /test/files/run/bugs.scala
parentd08dff3b18972a0004fba6aca726d2b70a9dc235 (diff)
downloadscala-4500aea22473b9ce61e4487e3cceeedb26382d8d.tar.gz
scala-4500aea22473b9ce61e4487e3cceeedb26382d8d.tar.bz2
scala-4500aea22473b9ce61e4487e3cceeedb26382d8d.zip
- Moved bug 142 into bugs.scala
- Added bug 174 to bugs.scala - Improved output of bugs.scala - Added bugs.check
Diffstat (limited to 'test/files/run/bugs.scala')
-rw-r--r--test/files/run/bugs.scala83
1 files changed, 77 insertions, 6 deletions
diff --git a/test/files/run/bugs.scala b/test/files/run/bugs.scala
index 873006592d..c410eb0240 100644
--- a/test/files/run/bugs.scala
+++ b/test/files/run/bugs.scala
@@ -16,13 +16,48 @@ object Bug135Test {
new Order((x:int,y:int) => x < y, (x:int,y:int) => x == y);
val myMap:TreeMap[int,String] = new TreeMap(intOrder);
val map1 = myMap + 42 -> "The answer";
- if (map1.get(42) != Some("The answer"))
- Console.println("KO: " + map1.get(42));
+ Console.println(map1.get(42));
}
}
//############################################################################
+// Bug 142
+
+abstract class Bug142Foo1 { class Inner; def foo: Inner; foo; }
+abstract class Bug142Foo2 { class Inner; def foo: Inner = {System.out.println("ok"); null};}
+abstract class Bug142Foo3 { type Inner; def foo: Inner; foo; }
+abstract class Bug142Foo4 { type Inner; def foo: Inner = {System.out.println("ok"); null.asInstanceOf[Inner]}; }
+
+abstract class Bug142Bar1 { type Inner; def foo: Inner = {System.out.println("ok"); null.asInstanceOf[Inner]}; }
+abstract class Bug142Bar2 { type Inner; def foo: Inner; foo; }
+abstract class Bug142Bar3 { class Inner; def foo: Inner = {System.out.println("ok"); null}; }
+abstract class Bug142Bar4 { class Inner; def foo: Inner; foo; }
+
+object Bug142Test1 extends Bug142Foo1 with Bug142Bar1 {def main(args:Array[String]):Unit=();}
+object Bug142Test2 extends Bug142Foo2 with Bug142Bar2 {def main(args:Array[String]):Unit=();}
+object Bug142Test3 extends Bug142Foo3 with Bug142Bar3 {def main(args:Array[String]):Unit=();}
+object Bug142Test4 extends Bug142Foo4 with Bug142Bar4 {def main(args:Array[String]):Unit=();}
+object Bug142Test5 with Bug142Foo1 with Bug142Bar1 {def main(args:Array[String]):Unit=();}
+object Bug142Test6 with Bug142Foo2 with Bug142Bar2 {def main(args:Array[String]):Unit=();}
+object Bug142Test7 with Bug142Foo3 with Bug142Bar3 {def main(args:Array[String]):Unit=();}
+object Bug142Test8 with Bug142Foo4 with Bug142Bar4 {def main(args:Array[String]):Unit=();}
+
+object Bug142Test {
+ def main(args:Array[String]): Unit = {
+ Bug142Test1;
+ Bug142Test2;
+ Bug142Test3;
+ Bug142Test4;
+ Bug142Test5;
+ Bug142Test6;
+ Bug142Test7;
+ Bug142Test8;
+ ()
+ }
+}
+
+//############################################################################
// Bug 167
class Bug167Node(bar:Int) {
@@ -46,7 +81,7 @@ class Bug168Foo {
def foo = new Bar;
}
-object Bug168Test {
+object Bug168Test {
def main(args: Array[String]): Unit = {
(new Bug168Foo).foo;
()
@@ -54,13 +89,49 @@ object Bug168Test {
}
//############################################################################
+// Bug 174
+
+class Bug174Foo[X] {
+
+ class Tree;
+ class Node extends Tree;
+
+
+ val inner:Inner = new SubInner;
+
+ trait Inner {
+ def test: Bug174Foo[X]#Tree ;
+ }
+
+ class SubInner extends Inner {
+ def test = new Node;
+ }
+
+}
+
+object Bug174Test {
+ def main(args: Array[String]): Unit = {
+ (new Bug174Foo[Int]).inner.test;
+ ()
+ }
+}
+
+//############################################################################
// Main
object Test {
+ def test(bug: Int, def test: Unit): Unit = {
+ System.out.println("<<< bug " + bug);
+ test;
+ System.out.println(">>> bug " + bug);
+ System.out.println();
+ }
def main(args: Array[String]): Unit = {
- Bug135Test.main(args);
- Bug167Test.main(args);
- Bug168Test.main(args);
+ test(135, Bug135Test.main(args));
+ test(142, Bug142Test.main(args));
+ test(167, Bug167Test.main(args));
+ test(168, Bug168Test.main(args));
+ test(174, Bug174Test.main(args));
}
}