// FIR_IDENTICAL // !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE class Outer { inner class Inner { fun newInner(): Inner = Inner() //type mismatch fun newOuterInner(): Outer.Inner = Outer().Inner() //^ U here is not analyzed fun foo(t: T, r: R) {} } } fun test0() { val inner: Outer.Inner = Outer().Inner() Outer().Inner().foo(1, "") // type mismatch on second argument } fun test1() { Outer().Inner().newOuterInner().foo(1.0, true) // type mismatch on 1.0 }