summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-01-10 16:26:29 +0000
committerMartin Odersky <odersky@gmail.com>2007-01-10 16:26:29 +0000
commit181cefa87219f65d9b6d101049d4916db6715092 (patch)
tree78da5201ef0ca2ca48967d71aa6db0e8defbef66 /test/files
parent8b51007563c84fee9ebdfc503aee984c83172d71 (diff)
downloadscala-181cefa87219f65d9b6d101049d4916db6715092.tar.gz
scala-181cefa87219f65d9b6d101049d4916db6715092.tar.bz2
scala-181cefa87219f65d9b6d101049d4916db6715092.zip
fixed bug875
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/bug875.check13
-rw-r--r--test/files/neg/bug875.scala18
-rw-r--r--test/files/neg/bug876.check4
-rw-r--r--test/files/neg/bug876.scala28
-rw-r--r--test/files/neg/bug877.check4
-rwxr-xr-xtest/files/neg/bug877.scala3
-rwxr-xr-xtest/files/pos/bug873.scala10
-rwxr-xr-xtest/files/pos/bug880.scala6
-rwxr-xr-xtest/files/pos/unapply.scala8
9 files changed, 94 insertions, 0 deletions
diff --git a/test/files/neg/bug875.check b/test/files/neg/bug875.check
new file mode 100644
index 0000000000..63ad0f7eb0
--- /dev/null
+++ b/test/files/neg/bug875.check
@@ -0,0 +1,13 @@
+bug875.scala:3: error: _*-argument may not appear after other arguments matching a *-parameter
+ val ys = List(1, 2, 3, xs: _*)
+ ^
+bug875.scala:6: error: _*-argument does not correspond to *-parameter
+ mkList(xs: _*)
+ ^
+bug875.scala:15: error: _*-argument may not appear after other arguments matching a *-parameter
+ f(true, 1, xs: _*)
+ ^
+bug875.scala:16: error: _*-argument may not appear after other arguments matching a *-parameter
+ g(1, xs:_*)
+ ^
+four errors found
diff --git a/test/files/neg/bug875.scala b/test/files/neg/bug875.scala
new file mode 100644
index 0000000000..af0a74d480
--- /dev/null
+++ b/test/files/neg/bug875.scala
@@ -0,0 +1,18 @@
+object Test extends Application {
+ val xs = List(4, 5, 6)
+ val ys = List(1, 2, 3, xs: _*)
+ def mkList(x: int) = List(x)
+ def mkList(x: boolean) = List(x)
+ mkList(xs: _*)
+
+
+ def f(x: int*) = List(x: _*)
+
+ def f(x: boolean, y: int*) = List(y: _*)
+
+ def g[a](x: a*) = List(x: _*)
+
+ f(true, 1, xs: _*)
+ g(1, xs:_*)
+
+}
diff --git a/test/files/neg/bug876.check b/test/files/neg/bug876.check
new file mode 100644
index 0000000000..54c27fc96a
--- /dev/null
+++ b/test/files/neg/bug876.check
@@ -0,0 +1,4 @@
+bug876.scala:25: error: wrong number of arguments for method apply: (AssertionError.this.A)manager.B
+ assert(manager.map(A2) == List(manager.map(A2, A1)))
+ ^
+one error found
diff --git a/test/files/neg/bug876.scala b/test/files/neg/bug876.scala
new file mode 100644
index 0000000000..8a94dd9db5
--- /dev/null
+++ b/test/files/neg/bug876.scala
@@ -0,0 +1,28 @@
+import scala.collection.mutable.HashMap
+
+object AssertionError extends AnyRef with Application
+{
+ abstract class A {}
+
+ object A1 extends A {}
+
+ object A2 extends A {}
+
+ class Manager
+ {
+ final class B {}
+
+ val map = new HashMap[A, B]
+ }
+
+
+ def test[T](f: => T) { f }
+
+ test {
+ val manager = new Manager
+
+ // This line is illegal and causes a compiler crash with Scala 2.3.1
+ assert(manager.map(A2) == List(manager.map(A2, A1)))
+ }
+
+}
diff --git a/test/files/neg/bug877.check b/test/files/neg/bug877.check
new file mode 100644
index 0000000000..081d5066ae
--- /dev/null
+++ b/test/files/neg/bug877.check
@@ -0,0 +1,4 @@
+bug877.scala:3: error: `{' expected
+trait Foo extends A(22A, Bug!) {}
+ ^
+one error found
diff --git a/test/files/neg/bug877.scala b/test/files/neg/bug877.scala
new file mode 100755
index 0000000000..5e132a1dd4
--- /dev/null
+++ b/test/files/neg/bug877.scala
@@ -0,0 +1,3 @@
+class A
+
+trait Foo extends A(22A, Bug!) {}
diff --git a/test/files/pos/bug873.scala b/test/files/pos/bug873.scala
new file mode 100755
index 0000000000..b8c50afd35
--- /dev/null
+++ b/test/files/pos/bug873.scala
@@ -0,0 +1,10 @@
+abstract class Foo {
+
+ val x:Option[List[String]]
+ val y:List[Int]
+
+ val z = (0:Any) match {
+ case 1 => x
+ case 2 => y
+ }
+}
diff --git a/test/files/pos/bug880.scala b/test/files/pos/bug880.scala
new file mode 100755
index 0000000000..cceb53c398
--- /dev/null
+++ b/test/files/pos/bug880.scala
@@ -0,0 +1,6 @@
+import scala.xml.Null
+
+class Test[A >: Null]
+{
+ val x : A = null
+}
diff --git a/test/files/pos/unapply.scala b/test/files/pos/unapply.scala
new file mode 100755
index 0000000000..17577ef991
--- /dev/null
+++ b/test/files/pos/unapply.scala
@@ -0,0 +1,8 @@
+object Test {
+ val xs = List(1)
+ val f: int = {
+ xs match {
+ case List(x) => x
+ }
+ }
+}