summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-10-03 03:19:21 +0000
committerPaul Phillips <paulp@improving.org>2010-10-03 03:19:21 +0000
commit2fefb37220f82300e2aa44442f1a42261d65e359 (patch)
tree24267661fa20065cf33c70d9860774b145673565 /test/files
parent943fbb1363345fdaca55e5df95059e8ce8c1344b (diff)
downloadscala-2fefb37220f82300e2aa44442f1a42261d65e359.tar.gz
scala-2fefb37220f82300e2aa44442f1a42261d65e359.tar.bz2
scala-2fefb37220f82300e2aa44442f1a42261d65e359.zip
One last batch of test cleanups and I think I'l...
One last batch of test cleanups and I think I'll call it a day. If you're worried I didn't leave any for anyone else, let me put your fears to rest. PLENTY left to sift through. No review.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/t0513.check7
-rw-r--r--test/files/neg/t0513.scala6
-rw-r--r--test/files/neg/t2078.check4
-rw-r--r--test/files/neg/t2078.scala9
-rw-r--r--test/files/neg/t2180.check6
-rw-r--r--test/files/neg/t2180.scala9
-rw-r--r--test/files/pos/t0625.scala8
7 files changed, 49 insertions, 0 deletions
diff --git a/test/files/neg/t0513.check b/test/files/neg/t0513.check
new file mode 100644
index 0000000000..edc0c9ab67
--- /dev/null
+++ b/test/files/neg/t0513.check
@@ -0,0 +1,7 @@
+t0513.scala:5: error: type arguments [Nothing,Int] do not conform to class Y's type parameter bounds [T1,T2 <: T1]
+ val test2 = Test[Y[Nothing, Int]] // No error
+ ^
+t0513.scala:5: error: type arguments [Nothing,Int] do not conform to class Y's type parameter bounds [T1,T2 <: T1]
+ val test2 = Test[Y[Nothing, Int]] // No error
+ ^
+two errors found
diff --git a/test/files/neg/t0513.scala b/test/files/neg/t0513.scala
new file mode 100644
index 0000000000..0193483cab
--- /dev/null
+++ b/test/files/neg/t0513.scala
@@ -0,0 +1,6 @@
+object Test {
+ case class Y[T1, T2 <: T1]()
+ //val test = Y[Nothing, Int] // Compiler error
+ case class Test[T]()
+ val test2 = Test[Y[Nothing, Int]] // No error
+}
diff --git a/test/files/neg/t2078.check b/test/files/neg/t2078.check
new file mode 100644
index 0000000000..1b79c19621
--- /dev/null
+++ b/test/files/neg/t2078.check
@@ -0,0 +1,4 @@
+t2078.scala:2: error: contravariant type S occurs in covariant position in type => java.lang.Object{val x: S} of value f
+ val f = new { val x = y }
+ ^
+one error found
diff --git a/test/files/neg/t2078.scala b/test/files/neg/t2078.scala
new file mode 100644
index 0000000000..a697afc646
--- /dev/null
+++ b/test/files/neg/t2078.scala
@@ -0,0 +1,9 @@
+class A[-S](y : S) {
+ val f = new { val x = y }
+}
+
+object Test extends Application {
+ val a = new A(1)
+ val b = a : A[Nothing]
+ b.f.x
+}
diff --git a/test/files/neg/t2180.check b/test/files/neg/t2180.check
new file mode 100644
index 0000000000..58eb05b6b6
--- /dev/null
+++ b/test/files/neg/t2180.check
@@ -0,0 +1,6 @@
+t2180.scala:3: error: type mismatch;
+ found : List[Any]
+ required: scala.List[Mxml]
+ children.toList.flatMap ( e => {
+ ^
+one error found
diff --git a/test/files/neg/t2180.scala b/test/files/neg/t2180.scala
new file mode 100644
index 0000000000..54a9e49c1c
--- /dev/null
+++ b/test/files/neg/t2180.scala
@@ -0,0 +1,9 @@
+class Mxml {
+ private def processChildren( children:Seq[Any] ):List[Mxml] = {
+ children.toList.flatMap ( e => {
+ e match {
+ case s:scala.collection.Traversable[_] => s case a => List(a)
+ }
+ })
+ }
+}
diff --git a/test/files/pos/t0625.scala b/test/files/pos/t0625.scala
new file mode 100644
index 0000000000..5614542599
--- /dev/null
+++ b/test/files/pos/t0625.scala
@@ -0,0 +1,8 @@
+object Test {
+ def idMap[C[_],T](m: { def map[U](f: T => U): C[U] }): C[T] = m.map(t => t)
+
+ def main(args: Array[String]): Unit = {
+ idMap(Some(5))
+ idMap(Responder.constant(5))
+ }
+}