summaryrefslogtreecommitdiff
path: root/test/files/neg
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-10-20 13:37:17 +0000
committerMartin Odersky <odersky@gmail.com>2006-10-20 13:37:17 +0000
commitf9e5afd36a8a241abc86c80197d8fbe10488280e (patch)
tree0210b277aeabea10dc8eca0dc96171dcd5934976 /test/files/neg
parentf3f8f974bf0ebbe4746fbe83103566e71e8b1e7c (diff)
downloadscala-f9e5afd36a8a241abc86c80197d8fbe10488280e.tar.gz
scala-f9e5afd36a8a241abc86c80197d8fbe10488280e.tar.bz2
scala-f9e5afd36a8a241abc86c80197d8fbe10488280e.zip
fixed problems in type patterns
made some type error messages more precise
Diffstat (limited to 'test/files/neg')
-rw-r--r--test/files/neg/bug126.check4
-rw-r--r--test/files/neg/bug126.scala8
-rw-r--r--test/files/neg/escapes.check5
-rwxr-xr-xtest/files/neg/escapes.scala6
-rw-r--r--test/files/neg/gadts1.check7
-rw-r--r--test/files/neg/viewtest.check7
6 files changed, 18 insertions, 19 deletions
diff --git a/test/files/neg/bug126.check b/test/files/neg/bug126.check
deleted file mode 100644
index 84a50aa821..0000000000
--- a/test/files/neg/bug126.check
+++ /dev/null
@@ -1,4 +0,0 @@
-bug126.scala:5 error: forward reference extends over definition of value foo2
- val Tuple1(foo2:(Any => Any)) = Tuple1((x:Any) => foo2(x));
- ^
-one error found
diff --git a/test/files/neg/bug126.scala b/test/files/neg/bug126.scala
deleted file mode 100644
index 75c10e608a..0000000000
--- a/test/files/neg/bug126.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-class O {
- val Bar:Any => Any = ((x:Any) => Bar(x));
- val Tuple2(foo:(Any => Any), bar) = Tuple2((x:Any) => foo(x), 1);
- {
- val Tuple1(foo2:(Any => Any)) = Tuple1((x:Any) => foo2(x));
- Console.println(foo2)
- }
-}
diff --git a/test/files/neg/escapes.check b/test/files/neg/escapes.check
new file mode 100644
index 0000000000..95299a4c75
--- /dev/null
+++ b/test/files/neg/escapes.check
@@ -0,0 +1,5 @@
+escapes.scala:2 error: type t escapes its defining scope as part of type t
+ def f(x: Any) = x match { case y: Cell[t] => y.elem }
+ ^
+subst type t to T
+one error found
diff --git a/test/files/neg/escapes.scala b/test/files/neg/escapes.scala
new file mode 100755
index 0000000000..3a280e8d0a
--- /dev/null
+++ b/test/files/neg/escapes.scala
@@ -0,0 +1,6 @@
+object Test {
+ def f(x: Any) = x match { case y: Cell[t] => y.elem }
+ class C3[T](val elem: T)
+ class D3[T](val elemD: T) extends C3[T](elemD)
+ def f[T](x: C3[T]) = x match { case d: D3[t] => d.elemD }
+}
diff --git a/test/files/neg/gadts1.check b/test/files/neg/gadts1.check
index 8b3d6605ed..a761b79cb8 100644
--- a/test/files/neg/gadts1.check
+++ b/test/files/neg/gadts1.check
@@ -1,11 +1,6 @@
gadts1.scala:15 error: type mismatch;
- found : Test.this.NumTerm
- required: Test.this.Term[a]
- case NumTerm(n) => c.x = Double(1.0)
- ^
-gadts1.scala:15 error: type mismatch;
found : Test.this.Double
required: a
case NumTerm(n) => c.x = Double(1.0)
^
-two errors found
+one error found
diff --git a/test/files/neg/viewtest.check b/test/files/neg/viewtest.check
index b98b56bce5..044c3b7d91 100644
--- a/test/files/neg/viewtest.check
+++ b/test/files/neg/viewtest.check
@@ -1,7 +1,12 @@
+viewtest.scala:43 error: type mismatch;
+ found : scala.List[<type a in method compareTo>]
+ required: scala.List[<type a in method view3>]
+ case y1: List[a] => compareLists(x, y1)
+ ^
viewtest.scala:104 error: ambiguous implicit value:
both method view4 in object O of type [a](a)a
and method identity in object Predef of type [a](a)a
match expected type (test.Str) => test.Ordered[test.Str]
t = t insert Str(s)
^
-one error found
+two errors found