KT-442 Type inference fails on with()

This commit is contained in:
Andrey Breslav
2011-11-10 23:18:54 +03:00
parent 2c0ac86973
commit 4a87566fa2
7 changed files with 126 additions and 28 deletions
@@ -0,0 +1,31 @@
// KT-442 Type inference fails on with()
fun <T> funny(f : fun() : T) : T = f()
fun testFunny() {
val a : Int = funny {1}
}
fun <T> funny2(f : fun(t : T) : T) : T <!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>{}<!>
fun testFunny2() {
val a : Int = funny2 {it}
}
fun box() : String {
return generic_invoker { it }
}
fun <T> generic_invoker(gen : fun (String) : T) : T {
return gen("")
}
fun <T> T.with(f : fun T.()) {
f()
}
fun main(args : Array<String>) {
val a = 1 with {
plus(1)
}
}