Hey there, you asked at kotlinconf closing panel t...
# coroutines
d
Hey there, you asked at kotlinconf closing panel to give feedback on experimentals APIs so here we go: I regularly add this to my projects:
Copy code
allprojects {
    tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
        kotlinOptions.freeCompilerArgs += "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
    }
}
so I don’t even know anymore which APIs are stable or experimental I guess the feedback here is: can you please use different “experimental” flags for different APIs? there are a lot of currently experimental APIs that I consider stable … I’ll try to look for a list of those and give it as an answer to this comment
k
It's not really up to you to determine if something is stable, though? Any API annotated with the experimental tag could change how they operate in any version. Stable doesn't meant they're bug free. Related to your point though -- some APIs in coroutines have been considered experimental for a long time like
Flow.flatMapLatest
. It's hard to avoid using experimental APIs in many scenarios
d
I'm not deciding anything :-) I'm just giving feedback. I also know experimental means "the API could change" and has nothing to do with bugs. How did you read that into what I said? I'm just saying there are many APIs that have been marked experimental for many years now, they work perfectly fine and I'm using them regularly. At some point I got bored of always adding the opt in annotation and I just added the flag. The result, however, is that I now don't even remember which APIs are stable or not. I believe the feedback they were asking was mainly about the naming and behavior. I'm trying to compile a list of experimental APIs I'm using to give this feedback.
k
This bit:
currently experimental APIs that I consider stable
d
I see, I guess I didn't express myself very well