Alexander Vtyurin
06/26/2019, 7:27 PMsuspendCancelableCoroutine a part of the language instead of suspendCoroutine as a more general and tweakable language unit.elizarov
06/26/2019, 8:15 PMsuspendCancellableCoroutine would mean adding Job and all it cancellation machinery which contains quite a lot of code. That is too much for our vision of Kotlin standard library. Moreover, while the contract are quite stable since kotlinx.coroutines version 1.0 we are still evolving implementation details considerably.Alexander Vtyurin
06/26/2019, 9:01 PMsuspendCoroutine keeping a way to integrate with it from kotlinx.coroutines simple? Like, I have a small pet project and I don't want to pull whole coroutines with me, I only want an ability to cancel it.louiscad
06/26/2019, 9:16 PMsimon.vergauwen
06/26/2019, 10:23 PMsimon.vergauwen
06/26/2019, 10:25 PMWhy don't you want to "pull whole kotlinx.coroutines" in that project exactly?AFAIK the reason for separation std and kotlinx was so that you didn't have to rely on kotlinx and can simple rely on std.
simon.vergauwen
06/26/2019, 10:29 PMsuspendCancelableContinuation (and startCancelableContinuation?) can't be separated from Job or other kotlinx implementation details? Or could it be separated by other abstractions?gildor
06/27/2019, 2:41 AMgildor
06/27/2019, 2:56 AMgildor
06/27/2019, 2:57 AMraulraja
06/27/2019, 3:39 AMgildor
06/27/2019, 3:50 AMelizarov
06/27/2019, 7:07 AMelizarov
06/27/2019, 7:11 AMelizarov
06/27/2019, 7:14 AMgildor
06/27/2019, 7:32 AMsimon.vergauwen
06/27/2019, 7:33 AMAlexander Vtyurin
06/27/2019, 10:51 AMstd weight a couple of kilos more, but anyway, I think that it is more correct for suspendCancelableCoroutine to be a part of a language because without it no one can implement their own com.username.kotlin-coroutines that will be compatible with kotlinx at least in some way. Especially in a case when Job impl is complex and should not be touched without knowledge.gildor
06/27/2019, 10:54 AMgildor
06/27/2019, 10:54 AMgildor
06/27/2019, 10:56 AMAlexander Vtyurin
06/27/2019, 10:58 AMUnfortunately, addingSo, you're saying that JB team is not sure for currentwould mean addingsuspendCancellableCoroutineand all it cancellation machinery which contains quite a lot of code.Job
Job impl and there are risks in this decision if sometime later you'll decide to reimplement it?gildor
06/27/2019, 11:01 AMsimon.vergauwen
06/27/2019, 11:01 AMsuspendCancelableContinuation should be decoupled from Job.gildor
06/27/2019, 11:01 AMgildor
06/27/2019, 11:01 AMAnd how would it work?should be decoupled fromsuspendCancelableContinuation.Job
gildor
06/27/2019, 11:02 AMsimon.vergauwen
06/27/2019, 11:02 AMJob currently leaks kotlinx detailsgildor
06/27/2019, 11:02 AMgildor
06/27/2019, 11:02 AMgildor
06/27/2019, 11:03 AMgildor
06/27/2019, 11:03 AMgildor
06/27/2019, 11:04 AMsimon.vergauwen
06/27/2019, 11:06 AMgildor
06/27/2019, 11:07 AMgildor
06/27/2019, 11:07 AMsimon.vergauwen
06/27/2019, 11:07 AMgildor
06/27/2019, 11:08 AMgildor
06/27/2019, 11:08 AMgildor
06/27/2019, 11:08 AMsimon.vergauwen
06/27/2019, 11:09 AMsimon.vergauwen
06/27/2019, 11:09 AMgildor
06/27/2019, 11:09 AMsimon.vergauwen
06/27/2019, 11:09 AMsimon.vergauwen
06/27/2019, 11:10 AMgildor
06/27/2019, 11:10 AMsimon.vergauwen
06/27/2019, 11:10 AMgildor
06/27/2019, 11:10 AMsimon.vergauwen
06/27/2019, 11:11 AMstartCoroutinesimon.vergauwen
06/27/2019, 11:12 AMsuspendCancelableContinuation we could integrate IOs cancelation in an interopt waysimon.vergauwen
06/27/2019, 11:13 AMgildor
06/27/2019, 11:26 AMgildor
06/27/2019, 11:26 AMsimon.vergauwen
06/27/2019, 11:27 AMsuspendCancelableContinuation not enough?simon.vergauwen
06/27/2019, 11:28 AMstartCoroutineCancelable if that's what you mean.gildor
06/27/2019, 11:28 AMgildor
06/27/2019, 11:30 AMgildor
06/27/2019, 11:34 AMsimon.vergauwen
06/27/2019, 11:38 AMsimon.vergauwen
06/27/2019, 11:38 AMsimon.vergauwen
06/27/2019, 11:40 AMelizarov
06/27/2019, 4:38 PMkotlinx.coroutines it would still make total sense to keep it separately. I don’t see much benefit in adding it to the stdlib, whoever needs it can easily add a dependency.simon.vergauwen
06/27/2019, 4:42 PMsuspend as a language feature as a result imo.elizarov
06/27/2019, 4:43 PMelizarov
06/27/2019, 4:44 PMsimon.vergauwen
06/27/2019, 4:46 PMsimon.vergauwen
06/27/2019, 4:47 PMelizarov
06/27/2019, 4:47 PMsimon.vergauwen
06/27/2019, 4:47 PMsimon.vergauwen
06/27/2019, 4:48 PMelizarov
06/27/2019, 4:48 PMelizarov
06/27/2019, 4:49 PMelizarov
06/27/2019, 4:49 PMsimon.vergauwen
06/27/2019, 4:55 PMlouiscad
06/27/2019, 5:22 PMsimon.vergauwen
06/27/2019, 5:35 PM