summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-04-05 13:48:28 +0000
committerMartin Odersky <odersky@gmail.com>2006-04-05 13:48:28 +0000
commit87185f98441fc73835c100cf4170e9d9bb31c328 (patch)
tree350dd0e290757e9c8503a38c43f06a60f17d7733 /test
parentc05862755062fd2827c825f055ae3e7f7990aadd (diff)
downloadscala-87185f98441fc73835c100cf4170e9d9bb31c328.tar.gz
scala-87185f98441fc73835c100cf4170e9d9bb31c328.tar.bz2
scala-87185f98441fc73835c100cf4170e9d9bb31c328.zip
fixed bug562 and bug563
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/bug562.check6
-rw-r--r--test/files/neg/bug562.scala11
-rw-r--r--test/files/neg/bug563.check9
-rw-r--r--test/files/neg/bug563.scala7
4 files changed, 33 insertions, 0 deletions
diff --git a/test/files/neg/bug562.check b/test/files/neg/bug562.check
new file mode 100644
index 0000000000..6654ee5ef9
--- /dev/null
+++ b/test/files/neg/bug562.check
@@ -0,0 +1,6 @@
+bug562.scala:10 error: error overriding value y in trait YYY of type => scala.Int;
+ value y cannot override a value or variable definition in a trait
+ (this is an implementation restriction)
+ override val y = super.y;
+ ^
+one error found
diff --git a/test/files/neg/bug562.scala b/test/files/neg/bug562.scala
new file mode 100644
index 0000000000..c4a6e61742
--- /dev/null
+++ b/test/files/neg/bug562.scala
@@ -0,0 +1,11 @@
+package test;
+
+abstract class XXX;
+
+trait YYY extends XXX {
+ val y = 10;
+}
+
+class Foo extends XXX with YYY {
+ override val y = super.y;
+}
diff --git a/test/files/neg/bug563.check b/test/files/neg/bug563.check
new file mode 100644
index 0000000000..0f2eac240e
--- /dev/null
+++ b/test/files/neg/bug563.check
@@ -0,0 +1,9 @@
+bug563.scala:6 error: missing parameter type
+ map(n,ptr => new Cell(ptr.elem));
+ ^
+bug563.scala:6 error: no type parameters for method map: (scala.List[A],(A) => R)scala.List[R] exist so that it can be applied to arguments (scala.List[scala.Cell[scala.Int]],(<error>) => <error>)
+ --- because ---
+result type scala.List[R] is incompatible with expected type scala.Unit
+ map(n,ptr => new Cell(ptr.elem));
+ ^
+two errors found
diff --git a/test/files/neg/bug563.scala b/test/files/neg/bug563.scala
new file mode 100644
index 0000000000..d559226bdb
--- /dev/null
+++ b/test/files/neg/bug563.scala
@@ -0,0 +1,7 @@
+object Test {
+ def map[A,R](a : List[A], f : A => R) : List[R] = a.map(f);
+
+ def split(sn : Iterable[List[Cell[int]]]) : unit =
+ for (val n <- sn)
+ map(n,ptr => new Cell(ptr.elem));
+}