1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
trait T { final case class A() } final class U extends T { // this match should also not be deemed impossible def foo(a: U#A) = a match { case _: A => true; case _ => false } // this match should also not be deemed impossible def bar(a: T#A) = a match { case _: A => true; case _ => false } }