interface Z open class A { } class B : A>() { // INFO: {"checked": "true"} val t1: Z // INFO: {"checked": "true"} val t2: Z> // INFO: {"checked": "true"} fun foo(t1: Z, t2: Z>, s1: S, s2: Z): Boolean = true // INFO: {"checked": "true"} inner class X : Z> { } // INFO: {"checked": "true"} class Y : Z { } } class C : A>() { // INFO: {"checked": "true"} val t1: B // INFO: {"checked": "true"} val t2: Z> // INFO: {"checked": "true"} fun foo(t1: B, t2: Z>, s1: S, s2: Z): Boolean = true // INFO: {"checked": "true"} inner class X : Z> { } // INFO: {"checked": "true"} class Y : Z { } }