class A : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } class B : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } override fun bar(): MutableList { return CHECK_NOT_NULL(arg0 = null) } override fun bar2(): MutableList { return CHECK_NOT_NULL(arg0 = null) } override fun bar3(): MutableList<*> { return CHECK_NOT_NULL(arg0 = null) } override fun foo(a: MutableList?) { } override fun foo2(a: MutableList?) { } override fun foo3(a: MutableList<*>?) { } } fun test(a: A, b: B) { a.foo(a = null) a.foo(a = mutableListOf(elements = [null])) a.foo(a = listOf(element = 1)) a.bar() /*~> Unit */ a.foo2(a = null) a.foo2(a = mutableListOf(elements = [null])) a.foo2(a = mutableListOf<@FlexibleNullability Number?>(elements = [1.1])) a.bar2() /*~> Unit */ a.foo3(a = null) a.foo3(a = mutableListOf(elements = [null])) a.foo3(a = listOf(element = null)) a.foo3(a = listOf(element = "")) a.bar3() /*~> Unit */ b.foo(a = null) b.foo(a = mutableListOf(elements = [1])) b.bar() /*~> Unit */ b.foo2(a = null) b.foo2(a = mutableListOf(elements = [null])) b.foo2(a = mutableListOf(elements = [1.1])) b.bar2() /*~> Unit */ b.foo3(a = null) b.foo3(a = mutableListOf(elements = [null])) b.foo3(a = mutableListOf(elements = [""])) b.bar3() /*~> Unit */ }