aboutsummaryrefslogtreecommitdiff
path: root/tests/patmat/t8511.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/patmat/t8511.scala')
-rw-r--r--tests/patmat/t8511.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/patmat/t8511.scala b/tests/patmat/t8511.scala
new file mode 100644
index 000000000..bc7f64713
--- /dev/null
+++ b/tests/patmat/t8511.scala
@@ -0,0 +1,25 @@
+sealed trait Expr
+final case class Foo(other: Option[String]) extends Expr
+final case class Bar(someConstant: String) extends Expr
+final case class Baz() extends Expr
+final case class EatsExhaustiveWarning(other: Reference) extends Expr
+
+sealed trait Reference {
+ val value: String
+}
+
+object Reference {
+ def unapply(reference: Reference): Option[(String)] = {
+ Some(reference.value)
+ }
+}
+
+object EntryPoint {
+ private def logic(head: Expr): String = head match {
+ case Foo(_) =>
+ ???
+ // Commenting this line only causes the exhaustive search warning to be emitted
+ case EatsExhaustiveWarning(Reference(text)) =>
+ ???
+ }
+} \ No newline at end of file