diff options
author | Martin Odersky <odersky@gmail.com> | 2006-04-05 13:48:28 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-04-05 13:48:28 +0000 |
commit | 87185f98441fc73835c100cf4170e9d9bb31c328 (patch) | |
tree | 350dd0e290757e9c8503a38c43f06a60f17d7733 /test/files/neg | |
parent | c05862755062fd2827c825f055ae3e7f7990aadd (diff) | |
download | scala-87185f98441fc73835c100cf4170e9d9bb31c328.tar.gz scala-87185f98441fc73835c100cf4170e9d9bb31c328.tar.bz2 scala-87185f98441fc73835c100cf4170e9d9bb31c328.zip |
fixed bug562 and bug563
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/bug562.check | 6 | ||||
-rw-r--r-- | test/files/neg/bug562.scala | 11 | ||||
-rw-r--r-- | test/files/neg/bug563.check | 9 | ||||
-rw-r--r-- | test/files/neg/bug563.scala | 7 |
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)); +} |