diff options
Diffstat (limited to 'test/files/neg/t5762.scala')
-rw-r--r-- | test/files/neg/t5762.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/files/neg/t5762.scala b/test/files/neg/t5762.scala new file mode 100644 index 0000000000..fb73552b12 --- /dev/null +++ b/test/files/neg/t5762.scala @@ -0,0 +1,24 @@ +class D[-A] + +object Test { + var bippy: Boolean = true + def f1(x: D[Int with String]) = x match { + case _: D[Int] if bippy => 1 + case _: D[String] => 2 + } + // Correctly warns: + // + // a.scala:5: warning: non variable type-argument Int in type pattern D[Int] is unchecked since it is eliminated by erasure + // case _: D[Int] => 1 + // ^ + // a.scala:6: warning: non variable type-argument String in type pattern D[String] is unchecked since it is eliminated by erasure + // case _: D[String] => 2 + // ^ + // two warnings found + + def f2(x: D[D[Int] with D[String]]) = x match { + case _: D[D[Int]] if bippy => 1 + case _: D[D[String]] => 2 + } + // No warnings! +} |