Support Kotlin value classes as suspending function arguments
Similar to gh-31698 but for Coroutines. See gh-31846
This commit is contained in:
@@ -145,6 +145,15 @@ class CoroutinesUtilsTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun invokeSuspendingFunctionWithValueClassParameter() {
|
||||
val method = CoroutinesUtilsTests::class.java.declaredMethods.first { it.name.startsWith("suspendingFunctionWithValueClass") }
|
||||
val mono = CoroutinesUtils.invokeSuspendingFunction(method, this, "foo", null) as Mono
|
||||
runBlocking {
|
||||
Assertions.assertThat(mono.awaitSingle()).isEqualTo("foo")
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun suspendingFunction(value: String): String {
|
||||
delay(1)
|
||||
return value
|
||||
@@ -172,4 +181,12 @@ class CoroutinesUtilsTests {
|
||||
return null
|
||||
}
|
||||
|
||||
suspend fun suspendingFunctionWithValueClass(value: ValueClass): String {
|
||||
delay(1)
|
||||
return value.value
|
||||
}
|
||||
|
||||
@JvmInline
|
||||
value class ValueClass(val value: String)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user