Daniil Ovchinnikov
                                            Daniil Ovchinnikov
                                        
                                    Looks good, I'd like to try this in real life
``` // available to send from multiple coroutines val events = Channel() // no broadcast channel anymore, let's use flow val broadcaster = flow { for (e in events) {...
Example from IJ https://github.com/JetBrains/intellij-community/blob/master/platform/util/diff/api-dump.txt Format: ``` modifiers:com/foo/bar/ClassName - com/foo/baz/Supertype1 - com/foo/Supertype2 - ... - modifiers:name:descriptor - modifiers:name:descriptor - ... ``` Modifiers: - `*` - marked with `@ApiStatus.Experimental`. - `b` -...
BCV could at least filter out synthetic constructors with `DefaultConstructorMarker` but without `I`
Currently, we have to use the following approach: https://github.com/JetBrains/intellij-community/blob/8bce81b67d20a1fc0f538cc0d3c1c04b15b61790/platform/util/src/com/intellij/util/coroutineScope.kt#L25
New approach: https://github.com/JetBrains/intellij-community/blob/819b1d9cd68a4638f3fa74ae445253d7e768108b/platform/util/coroutines/src/com/intellij/platform/util/coroutines/coroutineScope.kt#L41C15-L41C25
I didn't do any measurements, but I'm 100% sure that doing nothing is faster than whatever `LimitedDispatcher` is doing.
Should be solved by #2932
Current solution in IJ https://github.com/JetBrains/intellij-community/blob/bf4170d658dde3633362026d80ac49a3d79076b4/platform/util/coroutines/src/dispatchers.kt#L17
`await` (probably another function since this one is taken) should return `kotlin.Result` - if `await` resumes with CE, then it means the current coroutine was cancelled; - if `await` resumes...