Files
kotlin-fork/compiler/testData/cfgVariablesWithStdLib/contracts/irrelevantUnknownClosure.kt
T
Mikhail Zarechenskiy 63b13027df Configure pseudocode tests with !LANGUAGE directive
Except all, it's also useful to use one class of language version settings for compiler tests to configure it specially for tests
2017-11-13 16:27:20 +03:00

21 lines
405 B
Kotlin
Vendored

// !LANGUAGE: +CallsInPlaceEffect
import kotlin.internal.contracts.*
inline fun myRun(block: () -> Unit): Unit {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
return block()
}
inline fun unknownRun(block: () -> Unit) { block() }
fun foo() {
val x: Int
myRun {
unknownRun { println("shouldn't change anything") }
x = 42
}
println(x)
}