summaryrefslogtreecommitdiff
path: root/test/files/neg/patmat-type-check.check
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-02-18 05:40:27 +0000
committerPaul Phillips <paulp@improving.org>2010-02-18 05:40:27 +0000
commit23e5428008fc88377e59a1a5c20d5476c586d62e (patch)
tree45a0eb248c9d7c11674c6d0484c009518197d0d4 /test/files/neg/patmat-type-check.check
parentcf2f9d7fbe4311b2373957b4bc78520984f4eafc (diff)
downloadscala-23e5428008fc88377e59a1a5c20d5476c586d62e.tar.gz
scala-23e5428008fc88377e59a1a5c20d5476c586d62e.tar.bz2
scala-23e5428008fc88377e59a1a5c20d5476c586d62e.zip
Tighter pattern matching hits the street.
is final and does not conform to the pattern, it will no longer compile. See all the exciting things you can no longer do: "bob".reverse match { case Seq('b', 'o', 'b') => true } // denied! "bob".toArray match { case Seq('b', 'o', 'b') => true } // rejected! final class Dunk def f3(x: Dunk) = x match { case Seq('b', 'o', 'b') => true } // uh-uh! And so forth. Review by odersky.
Diffstat (limited to 'test/files/neg/patmat-type-check.check')
-rw-r--r--test/files/neg/patmat-type-check.check21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/neg/patmat-type-check.check b/test/files/neg/patmat-type-check.check
new file mode 100644
index 0000000000..ab638b616d
--- /dev/null
+++ b/test/files/neg/patmat-type-check.check
@@ -0,0 +1,21 @@
+patmat-type-check.scala:18: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: java.lang.String
+ def f1 = "bob".reverse match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:19: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Array[Char]
+ def f2 = "bob".toArray match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:23: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Test.Bop2
+ def f3(x: Bop2) = x match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:27: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Test.Bop3[T]
+ def f4[T](x: Bop3[T]) = x match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+four errors found