Closed
Description
The code is from discussion in Scala 3.5.0 unreachable case which was working with 3.4.2.
Compiler version
Since 3.5 (after the flexible type was introduced)
Minimized example
-Yexplicit-nulls
def f(s: String) =
val s2 = s.trim()
s2 match
case s3: String => println(1)
case _ => println(2)
Output Error/Warning message
-- [E030] Match case Unreachable Warning: Stest.scala:1026:7 -------------------
1026 | case _ => println(2)
| ^
| Unreachable case
1 warning found
Why this Error/Warning was not helpful
Should produce a better warning similar to without explicit nulls:
-- [E121] Pattern Match Warning: Stest.scala:1026:7 ----------------------------
1026 | case _ => println(2)
| ^
|Unreachable case except for null (if this is intentional, consider writing case null => instead).
1 warning found