summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-05-06 04:32:39 +0000
committerPaul Phillips <paulp@improving.org>2011-05-06 04:32:39 +0000
commit311b7de861bd2f4137e3503483177a1588cfdd12 (patch)
tree7b784b842cdf4a791a056e045eb4aa208c1e755a /test/files/pos
parent14cd653295b5ed3f10b82193a9fb6da0867e31d6 (diff)
downloadscala-311b7de861bd2f4137e3503483177a1588cfdd12.tar.gz
scala-311b7de861bd2f4137e3503483177a1588cfdd12.tar.bz2
scala-311b7de861bd2f4137e3503483177a1588cfdd12.zip
Finally figured out what was going on with a ce...
Finally figured out what was going on with a certain class of exhaustiveness checking bugs. Hey moors, you can put away your pins, puppets, and magic sauces. Closes #3098, no review.
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/bug4020.flags1
-rw-r--r--test/files/pos/bug4020.scala25
2 files changed, 26 insertions, 0 deletions
diff --git a/test/files/pos/bug4020.flags b/test/files/pos/bug4020.flags
new file mode 100644
index 0000000000..85d8eb2ba2
--- /dev/null
+++ b/test/files/pos/bug4020.flags
@@ -0,0 +1 @@
+-Xfatal-warnings
diff --git a/test/files/pos/bug4020.scala b/test/files/pos/bug4020.scala
new file mode 100644
index 0000000000..f976460191
--- /dev/null
+++ b/test/files/pos/bug4020.scala
@@ -0,0 +1,25 @@
+class A {
+ sealed trait Foo
+}
+
+object a1 extends A {
+ case class Foo1(i: Int) extends Foo
+}
+
+object a2 extends A {
+ case class Foo2(i: Int) extends Foo
+}
+
+class B {
+ def mthd(foo: a2.Foo) = {
+ foo match {
+ case a2.Foo2(i) => i
+
+ // Note: This case is impossible. In fact, scalac
+ // will (correctly) report an error if it is uncommented,
+ // but a warning if it is commented.
+
+ // case a1.Foo1(i) => i
+ }
+ }
+} \ No newline at end of file