package test interface A { fun foo(x: T!!) val w: T!! } class B(r: X!!) fun inside() { object : A { override fun foo(x: K!!) { } override val w: K!! get() = TODO("") } } fun bar1(x: F!!) {} fun bar2(x: F) = x!! val E.nn: E!! get() = this!! class Outer { abstract class R1 : A abstract class R2 : A abstract class W : A } typealias Alias = A