summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-11-19 18:08:48 +0000
committerMartin Odersky <odersky@gmail.com>2007-11-19 18:08:48 +0000
commit7444097917bf2e71af8160de202795828a0086cb (patch)
tree368cdb424e51f0a53d238e68bb8d89ef50d002ec
parent201ee07f1089800ec653e9ecea84289486741d72 (diff)
downloadscala-7444097917bf2e71af8160de202795828a0086cb.tar.gz
scala-7444097917bf2e71af8160de202795828a0086cb.tar.bz2
scala-7444097917bf2e71af8160de202795828a0086cb.zip
added tests
-rw-r--r--test/files/neg/t0209.check6
-rwxr-xr-xtest/files/neg/t0209.scala17
-rw-r--r--test/files/neg/t0214.check4
-rwxr-xr-xtest/files/neg/t0214.scala4
-rwxr-xr-xtest/files/neg/t0218.scala12
-rw-r--r--test/files/neg/t0226.check10
6 files changed, 53 insertions, 0 deletions
diff --git a/test/files/neg/t0209.check b/test/files/neg/t0209.check
new file mode 100644
index 0000000000..1904e58e7a
--- /dev/null
+++ b/test/files/neg/t0209.check
@@ -0,0 +1,6 @@
+t0209.scala:15: error: type mismatch;
+ found : C
+ required: _1.type where val _1: A
+ (new B: A).f(new C)
+ ^
+one error found
diff --git a/test/files/neg/t0209.scala b/test/files/neg/t0209.scala
new file mode 100755
index 0000000000..ecbe183e35
--- /dev/null
+++ b/test/files/neg/t0209.scala
@@ -0,0 +1,17 @@
+abstract class A {
+ def f(x : this.type) : B
+}
+
+class B extends A {
+ override def f(x : this.type) : B = x
+}
+
+class C extends A {
+ override def f(x : this.type) : B = null
+}
+
+object Program {
+ def main(args : Array[String]) {
+ (new B: A).f(new C)
+ }
+}
diff --git a/test/files/neg/t0214.check b/test/files/neg/t0214.check
new file mode 100644
index 0000000000..30bb0488cf
--- /dev/null
+++ b/test/files/neg/t0214.check
@@ -0,0 +1,4 @@
+t0214.scala:3: error: missing parameter type
+ a2p(x => x._1,(2,3))
+ ^
+one error found
diff --git a/test/files/neg/t0214.scala b/test/files/neg/t0214.scala
new file mode 100755
index 0000000000..bdc42bfd78
--- /dev/null
+++ b/test/files/neg/t0214.scala
@@ -0,0 +1,4 @@
+object Test {
+ def a2p[a,b,c](f:((a,b))=>c,v:(a,b)):c = f(v)
+ a2p(x => x._1,(2,3))
+}
diff --git a/test/files/neg/t0218.scala b/test/files/neg/t0218.scala
new file mode 100755
index 0000000000..282e85e814
--- /dev/null
+++ b/test/files/neg/t0218.scala
@@ -0,0 +1,12 @@
+trait APQ {
+ class Placement {
+ }
+
+ type P <: Placement
+
+ type PP = P
+
+ def pq(numQueens: int, numRows: int) : List[Placement] = {
+ List(new PP)
+ }
+}
diff --git a/test/files/neg/t0226.check b/test/files/neg/t0226.check
new file mode 100644
index 0000000000..1d9f7077ef
--- /dev/null
+++ b/test/files/neg/t0226.check
@@ -0,0 +1,10 @@
+t0226.scala:5: error: not found: type A1
+ (implicit _1: Foo[List[A1]], _2: Foo[A2]): Foo[Tuple2[List[A1], A2]] =
+ ^
+t0226.scala:5: error: not found: type A1
+ (implicit _1: Foo[List[A1]], _2: Foo[A2]): Foo[Tuple2[List[A1], A2]] =
+ ^
+t0226.scala:8: error: no implicit argument matching parameter type Test.this.Foo[((List[Char], Int), (object Nil, Int))] was found.
+ foo(((List('b'), 3), (Nil, 4)))
+ ^
+three errors found