Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/regressions/kt2514.kt
T
Svetlana Isakova 036ce3c2e1 KT-2514 Type inference fails when using extension function literal
(check for bounds when inference is not complete added)
 #KT-2514 fixed
2012-08-06 18:18:26 +04:00

16 lines
520 B
Kotlin
Vendored

//KT-2514 Type inference fails when using extension function literal
package kt2514
//+JDK
import java.io.Closeable
fun <T> Thread.use(block: Thread.() -> T): T = block()
fun <T: Closeable, R> T.use(block: (T)-> R) : R = block(this)
fun main(args: Array<String>) {
Thread().use { } // compilation error: Type inference failed
Thread().use { 5 + 5 } // compilation error: Type inference failed
Thread().use<Unit> { } // compiles okay
Thread().use<Int> { 5 + 5 } // compiles okay
}