aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/t2310.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-05-07 19:09:52 +0200
committerSamuel Gruetter <samuel.gruetter@epfl.ch>2014-05-20 13:38:49 +0200
commit27081ae59ba5b00b6ae05bb3cdd9c3ff7db0a28e (patch)
treeab350b5ef2d7b9adc29fe715be2efb4681970127 /tests/pos/t2310.scala
parentfb3dba1bac13a755d2304928cbd49e7dde6f1bf9 (diff)
downloaddotty-27081ae59ba5b00b6ae05bb3cdd9c3ff7db0a28e.tar.gz
dotty-27081ae59ba5b00b6ae05bb3cdd9c3ff7db0a28e.tar.bz2
dotty-27081ae59ba5b00b6ae05bb3cdd9c3ff7db0a28e.zip
Tests pos/23xx to 24xx.
Diffstat (limited to 'tests/pos/t2310.scala')
-rw-r--r--tests/pos/t2310.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/pos/t2310.scala b/tests/pos/t2310.scala
new file mode 100644
index 000000000..68912b496
--- /dev/null
+++ b/tests/pos/t2310.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
+ // }
+}