diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-18 05:40:27 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-18 05:40:27 +0000 |
commit | 23e5428008fc88377e59a1a5c20d5476c586d62e (patch) | |
tree | 45a0eb248c9d7c11674c6d0484c009518197d0d4 /test/files/neg/patmat-type-check.check | |
parent | cf2f9d7fbe4311b2373957b4bc78520984f4eafc (diff) | |
download | scala-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.check | 21 |
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 |