From 87185f98441fc73835c100cf4170e9d9bb31c328 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 5 Apr 2006 13:48:28 +0000 Subject: fixed bug562 and bug563 --- test/files/neg/bug562.check | 6 ++++++ test/files/neg/bug562.scala | 11 +++++++++++ test/files/neg/bug563.check | 9 +++++++++ test/files/neg/bug563.scala | 7 +++++++ 4 files changed, 33 insertions(+) create mode 100644 test/files/neg/bug562.check create mode 100644 test/files/neg/bug562.scala create mode 100644 test/files/neg/bug563.check create mode 100644 test/files/neg/bug563.scala (limited to 'test') 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]],() => ) + --- 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)); +} -- cgit v1.2.3