blob: 4433c85b5fe337f822a86de923e9d13228fdce44 [file]
// TARGET_BACKEND: NATIVE
// ASSERTIONS_MODE: always-disable
// WITH_STDLIB
var allCalled = false
var filterCalled = false
var errorMessageCalled = false
fun List<Int>.errorMessage(): String {
errorMessageCalled = true
return "These elements are odd: $this"
}
@OptIn(kotlin.experimental.ExperimentalNativeApi::class)
fun test(x: List<Int>) {
allCalled = false
filterCalled = false
errorMessageCalled = false
assert(x.all { allCalled = true; it % 2 == 0 }, x.filter { filterCalled = true; it % 2 != 0 }::errorMessage)
}
fun box(): String {
test(listOf(1, 2))
if (allCalled || filterCalled || errorMessageCalled)
return "[1, 2]"
test(listOf(2, 2))
if (allCalled || filterCalled || errorMessageCalled)
return "[2, 2]"
test(emptyList())
if (allCalled || filterCalled || errorMessageCalled)
return "[]"
return "OK"
}