Files
kotlin/compiler/testData/codegen/box/when/whenSafeCallSubjectEvaluatedOnce.kt
Dmitry Petrov 2ed5a5e368 'when' should use intrinsics for '=='
#KT-19029 Fixed Target versions 1.1.5
 #KT-18818 Fixed Target versions 1.1.5
2017-08-07 10:31:02 +03:00

19 lines
395 B
Kotlin
Vendored

var subjectEvaluated = 0
fun String.foo() = length.also { ++subjectEvaluated }
fun test(s: String?) =
when (s?.foo()) {
0 -> "zero"
1 -> "one"
2 -> "two"
else -> "other"
}
fun box(): String {
val t = test("12")
if (t != "two") return "Fail: $t"
if (subjectEvaluated != 1) return "Fail: subjectEvaluated=$subjectEvaluated"
return "OK"
}