diff options
author | Paul Phillips <paulp@improving.org> | 2010-01-28 05:46:06 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-01-28 05:46:06 +0000 |
commit | f6c69106d3baa59479e839727acc03ae4035519d (patch) | |
tree | af854700d4d9d2e0e0f330a08be2ca77c3dfe9ef /test | |
parent | 953fecc029a25c1c0cdd1ce847294bc6f7db8e33 (diff) | |
download | scala-f6c69106d3baa59479e839727acc03ae4035519d.tar.gz scala-f6c69106d3baa59479e839727acc03ae4035519d.tar.bz2 scala-f6c69106d3baa59479e839727acc03ae4035519d.zip |
One of those "$.05 for the bolt, $50,000 for kn...
One of those "$.05 for the bolt, $50,000 for knowing where to put it"
commits. Closes #425, #816, #2310, #2691. All credit for this patch goes
to me for having the genius to know when new eyes were needed (although
if you're feeling generous some could also go to walter korman for the
actual debugging and code writing part.)
Diffstat (limited to 'test')
-rw-r--r-- | test/files/pos/bug2310.scala | 38 | ||||
-rw-r--r-- | test/files/pos/t0816.scala (renamed from test/pending/pos/t0816.scala) | 2 | ||||
-rw-r--r-- | test/files/pos/t1035.scala (renamed from test/pending/pos/t1035.scala) | 0 | ||||
-rw-r--r-- | test/files/pos/t2691.scala (renamed from test/pending/pos/t2691.scala) | 0 | ||||
-rw-r--r-- | test/files/pos/t425.scala (renamed from test/pending/pos/t425.scala) | 0 | ||||
-rw-r--r-- | test/pending/run/bugs425-and-816.scala | 27 |
6 files changed, 39 insertions, 28 deletions
diff --git a/test/files/pos/bug2310.scala b/test/files/pos/bug2310.scala new file mode 100644 index 0000000000..68912b4961 --- /dev/null +++ b/test/files/pos/bug2310.scala @@ -0,0 +1,38 @@ +import scala.Stream._ + +object consistencyError { + /* this gives an error: + Consistency problem compiling (virtual file)! + Trying to call method body%1(List(scala.collection.immutable.Stream[A])) with arguments (List(tp2, temp6, temp5)) + case (l #:: ls, rs) => None + ^ + scala.tools.nsc.symtab.Types$TypeError: too many arguments for method body%1: (val rs: scala.collection.immutable.Stream[A])None.type + + two errors found + vss(0) = + args = List(tp2, temp6, temp5) + vss(1) = value rs, value ls, value l + args = List(tp2, temp6, temp5) + targets(0) = FinalState(,scala.None) + targets(1) = FinalState(,scala.None) + labels(1) = method body%1 + labels(0) = method body%0 + bx = 1 + label.tpe = (val rs: scala.collection.immutable.Stream[A])None.type + */ + def crash[A](lefts: Stream[A], rights: Stream[A]) = (lefts, rights) match { + case (Stream.Empty, Stream.Empty) => None + case (l #:: ls, rs) => None + } + + // These work + // def works1[A](lefts: Stream[A]) = lefts match { + // case Stream.Empty => None + // case l #:: ls => None + // } + // + // def works2[A](lefts: Stream[A], rights: Stream[A]) = (lefts, rights) match { + // case (Stream.Empty, Stream.Empty) => None + // case (ls, rs) => None + // } +} diff --git a/test/pending/pos/t0816.scala b/test/files/pos/t0816.scala index 44282ea872..0128a0ad72 100644 --- a/test/pending/pos/t0816.scala +++ b/test/files/pos/t0816.scala @@ -1,6 +1,6 @@ abstract class Atest(val data: String) -case class Btest(override val data: String, val b: boolean) extends Atest(data) +case class Btest(override val data: String, val b: Boolean) extends Atest(data) case class Ctest(override val data: String) extends Btest(data, true) diff --git a/test/pending/pos/t1035.scala b/test/files/pos/t1035.scala index a280a415d2..a280a415d2 100644 --- a/test/pending/pos/t1035.scala +++ b/test/files/pos/t1035.scala diff --git a/test/pending/pos/t2691.scala b/test/files/pos/t2691.scala index ba2e52f1fe..ba2e52f1fe 100644 --- a/test/pending/pos/t2691.scala +++ b/test/files/pos/t2691.scala diff --git a/test/pending/pos/t425.scala b/test/files/pos/t425.scala index e50c50ac35..e50c50ac35 100644 --- a/test/pending/pos/t425.scala +++ b/test/files/pos/t425.scala diff --git a/test/pending/run/bugs425-and-816.scala b/test/pending/run/bugs425-and-816.scala deleted file mode 100644 index d9267d06af..0000000000 --- a/test/pending/run/bugs425-and-816.scala +++ /dev/null @@ -1,27 +0,0 @@ -object Test { - object bug425 { - case class A(x: Int) - case class B(override val x: Int, y: Double) extends A(x) - - val b: A = B(5, 3.3) - b match { - case B(x, y) => Console.println(y) - case A(x) => Console.println(x) - } - } - - object bug816 { - abstract class Atest(val data: String) - - case class Btest(override val data: String, val b: boolean) extends Atest(data) - - case class Ctest(override val data: String) extends Btest(data, true) - - class testCaseClass { - def test(x: Atest) = x match { - case Ctest(data) => Console.println("C") - case Btest(data, b) => Console.println("B") - } - } - } -} |