// WITH_STDLIB fun fooInt(b: (Int, Int) -> String): String { return b(3, 5) } fun fooULong(b: (ULong, ULong) -> String): String { return b(3UL, 7UL) } fun barInt(i: Int): String { return "FAIINTL1".get(i).toString() } fun barULong(l: ULong): String { return "FAIULONGL2".get(l.toInt()).toString() } fun testInt(): String { return fooInt { from, to -> var r = "" for (index in from..to) { r += barInt(index) } r } } fun testULong(): String { return fooULong { from, to -> var r = "" for (index in from..to) { r += barULong(index) } r } } fun box(): String { val r1 = testInt() if (r1 != "INT") return "FAIL1: $r1" val r2 = testULong() if (r2 != "ULONG") return "FAIL2: $r2" return "OK" }