class A : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } class B : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun foo(): Void { return CHECK_NOT_NULL(arg0 = null) } } fun test() { val k: Void? = A().foo() val k2: Any = A().foo() /*!! Void */ val k3: Void = B().foo() val k4: Any = B().foo() }