From https://github.com/scala/scala/pull/9672#issuecomment-892850835 ```scala trait C[+T] trait D[T] extends C[T] { def f(x: T): T } class E extends D[String] { def f(x: String) = x.trim } object Test { def foo[T](c: C[T], t: T): Any = c match { case d: D[T] => d.f(t) case _ => 0 } def main(args: Array[String]): Unit = { foo[Any](new E, 1) } } ``` Doesn't give an unchecked warning in Scala 2 (fixed in Scala 3) and runs into a CCE.