//KT-4403 Wrong "type mismatch" on smart cast with inference interface A interface B : A fun T.f(): T = this fun test(a: A) { if (a !is B) return val c = a.f() // type mismatch }