// !DIAGNOSTICS: -UNNECESSARY_SAFE_CALL // MODULE: m0 // FILE: a.kt package p public trait G1 public trait G2 // MODULE: m1(m0) // FILE: a.kt package p public trait B { public fun foo(a: G1, b: G2): B? } // MODULE: m2(m1, m0) // FILE: b.kt package p public trait C : B { override fun foo(a: G1, b: G2): B? } // MODULE: m3(m0) // FILE: b.kt package p public trait B { public fun foo(a: G1, b: G2): B? } // MODULE: m4(m3, m2, m0) // FILE: c.kt import p.* fun test(b: B?, a: G1, b1: G2) { if (b is C) { b?.foo(a, b1) } }