The story is more complex than that, and it's in fact a 2.10.0 regression that was plugged there.
The "no-withFilter
" behavior was introduced in c82ecab, and because of things like SI-6968, this was reverted partially #1893. Further adaptations followed (SI-6646, SI-7183)
The takeaway sentence you're looking for is :
The parser can't assume that a pattern (a, b) will match, as results of .isInstanceOf[Tuple2] can't be statically known until after the typer.