c854cc7fc ^
1 2 3 4 5 6 7 8 9 10 11 12 13 14
trait T[U] { def x: T[_ <: U] } object T { def unapply[U](t: T[U]): Option[T[_ <: U]] = Some(t.x) } object Test { def f[W](t: T[W]) = t match { case T(T(_)) => () } }