// WITH_RUNTIME interface I interface Z open class A class C { inner class B(x: X, y: Y): A>() { // INFO: {"checked": "true"} fun foo(x1: X, x2: Z, y1: Y, y2: Z, w1: W, w2: Z, s1: S, s2: Z) { } // INFO: {"checked": "true"} inner class Foo(x1: X, x2: Z, y1: Y, y2: Z, w1: W, w2: Z, s1: S, s2: Z): A>(), Z { } // INFO: {"checked": "true"} val foo1: X // INFO: {"checked": "true"} val foo2: Z // INFO: {"checked": "true"} val foo3: Y // INFO: {"checked": "true"} val foo4: Z // INFO: {"checked": "true", "toAbstract": "true"} val foo5 = x // INFO: {"checked": "true", "toAbstract": "true"} val foo6 = object: Z {} // INFO: {"checked": "true", "toAbstract": "true"} val foo7 = y // INFO: {"checked": "true", "toAbstract": "true"} val foo8 = object: Z {} } }