21 lines
425 B
Kotlin
Vendored
21 lines
425 B
Kotlin
Vendored
// !LANGUAGE: +VariableDeclarationInWhenSubject
|
|
|
|
var effectCount = 0
|
|
|
|
fun withSideEffect(): Any {
|
|
effectCount++
|
|
return 42
|
|
}
|
|
|
|
fun box(): String {
|
|
when (val y = withSideEffect()) {
|
|
1 -> throw AssertionError()
|
|
"" -> throw AssertionError()
|
|
is String -> throw AssertionError()
|
|
42 -> {}
|
|
}
|
|
|
|
if (effectCount != 1) throw AssertionError("effectCount=$effectCount")
|
|
|
|
return "OK"
|
|
} |