aboutsummaryrefslogtreecommitdiff
path: root/tests/patmat/t3098
diff options
context:
space:
mode:
authorliu fengyun <liufengyunchina@gmail.com>2016-07-21 10:45:14 +0200
committerliu fengyun <liufengyunchina@gmail.com>2016-08-24 10:26:59 +0200
commitcc02243fbe8b7290265e1bdf540e4c2f256df199 (patch)
treebd83dcabb8de09fa48b9373b9431ef8c481da5ed /tests/patmat/t3098
parent1a7618f32c6d8060c3a87ce633645440d500aa7a (diff)
downloaddotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.tar.gz
dotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.tar.bz2
dotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.zip
add test set for exhaustivity and redundancy check
Diffstat (limited to 'tests/patmat/t3098')
-rw-r--r--tests/patmat/t3098/a.scala6
-rw-r--r--tests/patmat/t3098/b.scala8
-rw-r--r--tests/patmat/t3098/expected.check5
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/patmat/t3098/a.scala b/tests/patmat/t3098/a.scala
new file mode 100644
index 000000000..57a103c7a
--- /dev/null
+++ b/tests/patmat/t3098/a.scala
@@ -0,0 +1,6 @@
+// Traits.scala
+sealed trait T
+
+trait A extends T
+trait B extends T
+trait C extends T
diff --git a/tests/patmat/t3098/b.scala b/tests/patmat/t3098/b.scala
new file mode 100644
index 000000000..84a1f9f6f
--- /dev/null
+++ b/tests/patmat/t3098/b.scala
@@ -0,0 +1,8 @@
+// Test.scala
+object Test {
+ def f = (null: T) match {
+ case _: A => println("A")
+ case _: B => println("B")
+ // no C
+ }
+}
diff --git a/tests/patmat/t3098/expected.check b/tests/patmat/t3098/expected.check
new file mode 100644
index 000000000..331904111
--- /dev/null
+++ b/tests/patmat/t3098/expected.check
@@ -0,0 +1,5 @@
+./tests/patmat/t3098/b.scala:3: warning: match may not be exhaustive.
+It would fail on the following input: _: C
+ def f = (null: T) match {
+ ^
+one warning found \ No newline at end of file