// !LANGUAGE: +NewInference +SamConversionForKotlinFunctions +SamConversionPerArgument // !CHECK_TYPE // FILE: Fn.java public interface Fn { R apply(T t); } // FILE: Fn2.java public interface Fn2 extends Fn {} // FILE: 1.kt interface K { fun foo(f: Fn): String fun foo(f: Fn): Int fun bas(f: Fn): String fun bas(f: Fn): Int fun bar(f: Fn): String fun bar(f: Fn2): Int } fun test(k: K) { k.foo { it checkType { _() }; "" } checkType { _() } k.bas { it checkType { _() }; "" } checkType { _() } // NI: TODO k.bar { it checkType { _() }; "" } checkType { _() } }