aboutsummaryrefslogtreecommitdiff
path: root/tests/patmat/t3098
diff options
context:
space:
mode:
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