diff --git a/js/js.translator/testData/box/coroutines/suspendLambdaWithValueClass.kt b/js/js.translator/testData/box/coroutines/suspendLambdaWithValueClass.kt index 3ff285c67db..12002a5f594 100644 --- a/js/js.translator/testData/box/coroutines/suspendLambdaWithValueClass.kt +++ b/js/js.translator/testData/box/coroutines/suspendLambdaWithValueClass.kt @@ -13,7 +13,9 @@ fun builder(c: suspend () -> Unit) { }) } -fun box(): String { +infix fun ULong.ror(shift: Int): ULong = this shr shift + +fun testUlong(): String { val a: suspend () -> Unit = { mapOf( 0x0000000000000000UL to 0x0000000000000000UL @@ -40,4 +42,24 @@ fun box(): String { return "OK" } -infix fun ULong.ror(shift: Int): ULong = this shr shift \ No newline at end of file +value class UserValueClass(val raw: String) + +fun testUseValueClass(): String { + var result = "NOT OK" + builder { + val test = UserValueClass("test") + val map = listOf(test).groupBy { it }.mapValues { "OK" } + result = map[test] ?: "Cannot find value" + } + return result +} + +fun box(): String { + if (testUlong() != "OK") { + return "Fail testUlong()" + } + if (testUseValueClass() != "OK") { + return "Fail testUseValueClass()" + } + return "OK" +}