summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2006-01-26 09:32:34 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2006-01-26 09:32:34 +0000
commitdceda6e34775cf59ebcd94b7d47427a8e67c3e25 (patch)
treed4df8cd5c865c01c767ef1888608a1a299ebddc5
parent3d222bdcde70fd1c87bab840ae521bf51a811d5d (diff)
downloadscala-dceda6e34775cf59ebcd94b7d47427a8e67c3e25.tar.gz
scala-dceda6e34775cf59ebcd94b7d47427a8e67c3e25.tar.bz2
scala-dceda6e34775cf59ebcd94b7d47427a8e67c3e25.zip
Added Martin's additional test cases.
-rwxr-xr-xtest/files/neg/bug510.check4
-rwxr-xr-xtest/files/neg/bug510.scala26
-rwxr-xr-xtest/files/neg/bug512.check4
-rwxr-xr-xtest/files/neg/bug512.scala5
-rwxr-xr-xtest/files/neg/bug515.check6
-rwxr-xr-xtest/files/neg/bug515.scala8
-rwxr-xr-xtest/files/neg/bug85.check11
-rwxr-xr-xtest/files/pos/bug514.scala7
-rwxr-xr-xtest/files/pos/bug516.scala14
9 files changed, 85 insertions, 0 deletions
diff --git a/test/files/neg/bug510.check b/test/files/neg/bug510.check
new file mode 100755
index 0000000000..79fbeeeccd
--- /dev/null
+++ b/test/files/neg/bug510.check
@@ -0,0 +1,4 @@
+bug510.scala:19 error: cyclic aliasing or subtyping involving type T
+ def g(t: e.T): Unit = {
+ ^
+one error found
diff --git a/test/files/neg/bug510.scala b/test/files/neg/bug510.scala
new file mode 100755
index 0000000000..a1cd2df009
--- /dev/null
+++ b/test/files/neg/bug510.scala
@@ -0,0 +1,26 @@
+abstract class C {
+
+ type T <: Any;
+
+}
+
+abstract class D[S <: C](_c: S) extends C {
+
+ val c: S = _c;
+ type T <: c.T;
+
+}
+
+abstract class E(e: E) extends D[E](e);
+
+object Test {
+
+ def f(e: E): Unit = {
+ def g(t: e.T): Unit = {
+ val i: Int = t;
+ ()
+ }
+ ()
+ }
+
+}
diff --git a/test/files/neg/bug512.check b/test/files/neg/bug512.check
new file mode 100755
index 0000000000..90c424729e
--- /dev/null
+++ b/test/files/neg/bug512.check
@@ -0,0 +1,4 @@
+bug512.scala:3 error: not found: value something
+ val xxx = something ||
+ ^
+one error found
diff --git a/test/files/neg/bug512.scala b/test/files/neg/bug512.scala
new file mode 100755
index 0000000000..0a0ccde75c
--- /dev/null
+++ b/test/files/neg/bug512.scala
@@ -0,0 +1,5 @@
+package test;
+class Foo {
+ val xxx = something ||
+ something_else;
+}
diff --git a/test/files/neg/bug515.check b/test/files/neg/bug515.check
new file mode 100755
index 0000000000..7d922885e0
--- /dev/null
+++ b/test/files/neg/bug515.check
@@ -0,0 +1,6 @@
+bug515.scala:7 error: type mismatch;
+ found : java.lang.String
+ required: Test.this.Truc
+ val parent: Truc = file.getMachin
+ ^
+one error found
diff --git a/test/files/neg/bug515.scala b/test/files/neg/bug515.scala
new file mode 100755
index 0000000000..34f965231c
--- /dev/null
+++ b/test/files/neg/bug515.scala
@@ -0,0 +1,8 @@
+object Test extends Application {
+ class Truc {
+ def getMachin() = "machin"
+ def getMachinAsTruc() = this
+ }
+ val file = new Truc
+ val parent: Truc = file.getMachin
+}
diff --git a/test/files/neg/bug85.check b/test/files/neg/bug85.check
new file mode 100755
index 0000000000..2e48792d5a
--- /dev/null
+++ b/test/files/neg/bug85.check
@@ -0,0 +1,11 @@
+bug85.scala:6 error: type mismatch;
+ found : A.this.C
+ required: A.this.B#C
+ val b: B = new B(new C());
+ ^
+bug85.scala:7 error: type mismatch;
+ found : A.this.b.C
+ required: A.this.C
+ val c: C = b.c;
+ ^
+two errors found
diff --git a/test/files/pos/bug514.scala b/test/files/pos/bug514.scala
new file mode 100755
index 0000000000..0b7b9ac009
--- /dev/null
+++ b/test/files/pos/bug514.scala
@@ -0,0 +1,7 @@
+object Test extends Application {
+ object Truc {
+ override def toString() = "oui"
+ def toString(bool: Boolean) = "chaispas"
+ }
+ val tata: String = Truc.toString
+}
diff --git a/test/files/pos/bug516.scala b/test/files/pos/bug516.scala
new file mode 100755
index 0000000000..38aa4f70a6
--- /dev/null
+++ b/test/files/pos/bug516.scala
@@ -0,0 +1,14 @@
+import scala.collection.mutable._;
+
+class Members;
+
+object subscriber extends Subscriber[Message[String] with Undoable, Members] {
+ def notify(pub: Members, event: Message[String] with Undoable): Unit =
+ (event: Message[String]) match {
+ case Include(elem) => System.err.println("ADD: " + elem);
+ case Remove(elem) => System.err.println("REM: " + elem);
+ //case i : Include[HasTree] with Undoable =>
+ //case r : Remove [HasTree] with Undoable =>
+ }
+ }
+