## Compiler version Tested both 3.1.3 and 3.2.0-RC1 ## Minimized code ```Scala case class Composite[T](l: List[T], v: T) def m(composite: Composite[_]): Unit = composite match { case Composite(l: List[Int], v: Int) => println(v) case _ => println("This is not Int") } ``` ## Output Two bad warnings. First one is major, second one minor. Reporting both together, because I think they have the same root cause. 1. `Unreachable case except for null (if this is intentional, consider writing case null => instead).` Strangely, If I follow the advice and specify `case null =>` I get a proper `match may not be exhaustive.` warning. 2. `the type test for List[Int] cannot be checked at runtime` Explanation: `List[Int]` does not need to be checked at runtime, because matching second parameter as `Int` fixes the possible type of the list. ## Expectation No warnings at all.