diff options
author | Martin Odersky <odersky@gmail.com> | 2007-03-05 14:21:28 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-03-05 14:21:28 +0000 |
commit | 2c11ab6c75c4389a35d029aeb69d5d437e83a85a (patch) | |
tree | 6353eaeeb6e075f6e6844c87f61f7ab63cf71593 /test | |
parent | 0d03cad11528942ccdd8917b6d106b1dbb9afa79 (diff) | |
download | scala-2c11ab6c75c4389a35d029aeb69d5d437e83a85a.tar.gz scala-2c11ab6c75c4389a35d029aeb69d5d437e83a85a.tar.bz2 scala-2c11ab6c75c4389a35d029aeb69d5d437e83a85a.zip |
fixed bugs 948/971;
added () to parameterless methods with side-effects.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/bug960.check | 7 | ||||
-rwxr-xr-x | test/files/neg/bug960.scala | 20 | ||||
-rw-r--r-- | test/files/neg/bug961.check | 4 | ||||
-rwxr-xr-x | test/files/neg/bug961.scala | 14 |
4 files changed, 45 insertions, 0 deletions
diff --git a/test/files/neg/bug960.check b/test/files/neg/bug960.check new file mode 100644 index 0000000000..7929176c87 --- /dev/null +++ b/test/files/neg/bug960.check @@ -0,0 +1,7 @@ +bug960.scala:18: error: cannot resolve overloaded unapply + case List(x, xs) => 7
+ ^ +bug960.scala:12: error: method unapply is defined twice + def unapply[a](xs: List[a]): Option[Null] = xs match {
+ ^ +two errors found diff --git a/test/files/neg/bug960.scala b/test/files/neg/bug960.scala new file mode 100755 index 0000000000..5101cf8433 --- /dev/null +++ b/test/files/neg/bug960.scala @@ -0,0 +1,20 @@ +sealed abstract class List[+a] +private case object Nil extends List[Nothing] +private final case class Cons[+a](head: a, tail: List[a]) +extends List[a] + +object List { + def unapply[a](xs: List[a]): Option[(a, List[a])] = xs match { + case Nil => None + case Cons(x, xs) => Some(x, xs) + } + + def unapply[a](xs: List[a]): Option[Null] = xs match { + case Nil => Some(null) + case Cons(_, _) => None + } + + def foo[a](xs: List[a]) = xs match { + case List(x, xs) => 7 + } +} diff --git a/test/files/neg/bug961.check b/test/files/neg/bug961.check new file mode 100644 index 0000000000..d03645bfdf --- /dev/null +++ b/test/files/neg/bug961.check @@ -0,0 +1,4 @@ +bug961.scala:11: error: Temp.this.B does not take parameters + B() match {
+ ^ +one error found diff --git a/test/files/neg/bug961.scala b/test/files/neg/bug961.scala new file mode 100755 index 0000000000..eb1620abe1 --- /dev/null +++ b/test/files/neg/bug961.scala @@ -0,0 +1,14 @@ +object Temp{ + abstract class A + object B{ + private case class B_inner extends A + def apply: A = B_inner + def unapply(a: A) = a match { + case B_inner() => true + case _ => false + } + } + B() match { + case B() => Console.println("match") + } +} |