blob: fbd27ea95b2831d419282d0b441b3158ab24fa40 [file]
@file:OptIn(ExperimentalVersionOverloading::class)
fun trailingVersioned(
value: String = "O",
@IntroducedAt("1") suffix: String = "K",
@IntroducedAt("2") punctuation: String = "!",
transform: (String) -> String,
): String = transform(value + suffix + punctuation)
fun box(): String {
if (trailingVersioned { it } != "OK!") return "FAIL default"
if (trailingVersioned("A", "B") { it } != "AB!") return "FAIL second"
if (trailingVersioned("A", "B", "C") { it + "?" } != "ABC?") return "FAIL all"
return "OK"
}