summaryrefslogtreecommitdiff
path: root/test/pending/pos/exhaust_2.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending/pos/exhaust_2.scala')
-rw-r--r--test/pending/pos/exhaust_2.scala54
1 files changed, 0 insertions, 54 deletions
diff --git a/test/pending/pos/exhaust_2.scala b/test/pending/pos/exhaust_2.scala
deleted file mode 100644
index 4f4e47c43b..0000000000
--- a/test/pending/pos/exhaust_2.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-object ExhaustivityWarnBugReportMinimal {
- //sealed is needed for the warning
- sealed trait FoundNode[T]/*presence of parameters is irrelevant*/
- // This also causes a warning:
- // sealed abstract class FoundNode[T]/*presence of parameters is irrelevant*/
- case class FoundFilter[T](/*presence of parameters is irrelevant*/) extends FoundNode[T]
- case class FoundTypeCase[T](/*presence of parameters is irrelevant*/) extends FoundNode[T]
- val f: Some[_] = ???
- f match {
- case x: Some[t] => //no warning
- }
- //With these variants, no warnings:
- //val v: (Some[Int], FoundNode[_]) = (???, ???)
- //val v: (Some[AnyRef], FoundNode[_]) = (???, ???)
- //val v: (Some[String], FoundNode[_]) = (???, ???)
-
- val v: (Some[_], FoundNode[_]) = (???, ???)
- //Warning here:
- v match {
- case (x: Some[t], _: FoundNode[_]) =>
- }
- v match {
- case (x: Some[t], _) =>
- }
-
- v match {
- case (x: Some[_], _) =>
- }
- case class Foo[T]()
-
- val vp: (Foo[_], FoundNode[_]) = (???, ???)
- vp match {
- case (x: Foo[_], _) =>
- }
-
- //No warning here:
- v match {
- case (Some(y), _) =>
- }
-
- v match {
- case (x, _) =>
- }
-
- val v2: (Some[_], Int) = (???, ???)
- v2 match {
- case (x: Some[t], _) =>
- }
-
- val v3: (Option[_], FoundNode[_]) = (???, ???)
- v match {
- case (x: Option[_], _) =>
- }
-}