// !OPT_IN: kotlin.contracts.ExperimentalContracts // WITH_STDLIB import kotlin.contracts.* fun runOnce(action: () -> Unit) { contract { callsInPlace(action, InvocationKind.EXACTLY_ONCE) } action() } fun ok(): String { val res: String when (val o = "OK") { else -> runOnce { res = o } } return res } fun box(): String { return ok() }