// !DIAGNOSTICS: -UNUSED_PARAMETER class Outer { inner class Inner { fun getOuter(): Outer = this@Outer fun genericFun(r: R): Outer = this@Outer } fun useOuterParam(t: T) {} } fun test1() { Outer().Inner().getOuter().useOuterParam(22) Outer().Inner().getOuter().useOuterParam("") } class A class B fun test1(a: A, b: B) { Outer().Inner().genericFun(a).Inner().genericFun(b) }