class Outer { inner class Inner(val t: T) { fun box() = t } } fun box(): String { if (Outer().Inner("OK").box() != "OK") return "Fail" val x: Outer.Inner = Outer().Inner("OK") return x.box() } fun main(args: Array) { println(box()) }