// FIR_IDENTICAL // KT-442 Type inference fails on with() fun funny(f : () -> T) : T = f() fun testFunny() { val a : Int = funny {1} } fun funny2(f : (t : T) -> T) : T {} fun testFunny2() { val a : Int = funny2 {it} } fun box() : String { return generic_invoker { it } } fun generic_invoker(gen : (String) -> T) : T { return gen("") } infix fun T.with(f : T.() -> Unit) { f() } fun main() { val a = 1 with { plus(1) } }