05/26/2023, 3:11 PM
I have some code that was doing an @OptIn to ExperimentalCoroutinesApi in order to use channel.isClosedForSend. In coroutines 1.7 that method was "upgraded" from ExperimentalCoroutinesApi to DelicateCoroutinesApi, and now I need to change the @OptIn. Should opting in to Experimental imply opting in to Delicate? Maybe there's a technical reason why it can't work that way easily, but is there also an explicit desire for this behavior?


05/26/2023, 3:19 PM
Experimental is unstable. It could change in semantics, change in binary compatibility, or disappear altogether.
Delicate is stable but requires that you exercise care to use it. Often times there are implicit semantics or implicit dependencies on something else that you need to be aware of in your use.
One does not really imply the other