👋 I have an issue and was hoping to get some help, if it's a configuration issue or not.
With SKIE enabled, it seems the generated Swift interface is different than without, particularly with suspend functions + optional return type.
I have the following Kotlin code:
interface Foo {
suspend fun getStringAsync(): String?
}
If I would like to implement the interface in Swift side, my code will have to be:
class FooImpl: Foo {
func __getStringAsync() async throws -> String {}
}
Notice the return type is
String
, rather than
String?
as I would expect.
I have the following gradle configuration:
skie {
features {
coroutinesInterop = true
}
}
----------
If however, I disable SKIE, it will look correct on the Swift side:
class FooImpl: Foo {
func __getStringAsync() async throws -> String? {}
}
Am I missing something, or is this intended behavior?