summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2004-01-15 12:23:01 +0000
committerMartin Odersky <odersky@gmail.com>2004-01-15 12:23:01 +0000
commitb629bde913be70b95e00f4c7a252e55dee070d34 (patch)
tree28c444499753fc78851d1b044b2c630e4bd3b7dd /test/files/neg
parentde408cadfb612d04e9adfe049a2bdf9f71da5bd5 (diff)
downloadscala-b629bde913be70b95e00f4c7a252e55dee070d34.tar.gz
scala-b629bde913be70b95e00f4c7a252e55dee070d34.tar.bz2
scala-b629bde913be70b95e00f4c7a252e55dee070d34.zip
*** empty log message ***
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/bug44.check6
-rw-r--r--test/files/neg/bug44.scala5
-rw-r--r--test/files/neg/refine.check6
-rw-r--r--test/files/neg/refine.scala6
-rw-r--r--test/files/neg/vincent1.check7
-rw-r--r--test/files/neg/vincent1.scala19
6 files changed, 49 insertions, 0 deletions
diff --git a/test/files/neg/bug44.check b/test/files/neg/bug44.check
new file mode 100644
index 0000000000..9347758ac9
--- /dev/null
+++ b/test/files/neg/bug44.check
@@ -0,0 +1,6 @@
+bug44.scala:2: type mismatch;
+ found : scala.Object
+ required: scala.Object { def t: scala.Int }
+ var x: Object { def t: Int; } = new Object() {
+ ^
+one error found
diff --git a/test/files/neg/bug44.scala b/test/files/neg/bug44.scala
new file mode 100644
index 0000000000..7989838250
--- /dev/null
+++ b/test/files/neg/bug44.scala
@@ -0,0 +1,5 @@
+abstract class C {
+ var x: Object { def t: Int; } = new Object() {
+ def t: Int = 1;
+ }
+}
diff --git a/test/files/neg/refine.check b/test/files/neg/refine.check
new file mode 100644
index 0000000000..271451e65e
--- /dev/null
+++ b/test/files/neg/refine.check
@@ -0,0 +1,6 @@
+refine.scala:3: type mismatch;
+ found : scala.Object
+ required: scala.Object { def t(): java.lang.String }
+ val x: Object { def t(): String } = new Object {
+ ^
+one error found
diff --git a/test/files/neg/refine.scala b/test/files/neg/refine.scala
new file mode 100644
index 0000000000..5d175f26f5
--- /dev/null
+++ b/test/files/neg/refine.scala
@@ -0,0 +1,6 @@
+object test {
+
+ val x: Object { def t(): String } = new Object {
+ def t(): String = "1";
+ }
+}
diff --git a/test/files/neg/vincent1.check b/test/files/neg/vincent1.check
new file mode 100644
index 0000000000..a9f60e9ad2
--- /dev/null
+++ b/test/files/neg/vincent1.check
@@ -0,0 +1,7 @@
+vincent1.scala:7: type x.type escapes its defining scope as part of scala.Object { type T = x.T }
+ class Functor(x: A) { type T = x.T }
+ ^
+vincent1.scala:9: type x.type escapes its defining scope as part of test.B { type T = x.T }
+ def functor(x: A): B { type T = x.T } =
+ ^
+two errors found
diff --git a/test/files/neg/vincent1.scala b/test/files/neg/vincent1.scala
new file mode 100644
index 0000000000..fb047305ff
--- /dev/null
+++ b/test/files/neg/vincent1.scala
@@ -0,0 +1,19 @@
+object test {
+
+ trait A { type T; }
+
+ trait B { type T; }
+
+ class Functor(x: A) { type T = x.T }
+
+ def functor(x: A): B { type T = x.T } =
+ new B {
+ type T = x.T;
+ };
+
+ val a = new A { type T = String };
+ val b = functor(a);
+
+ val s: b.T = "coucou";
+
+}