Skip to content
Discussion options

You must be logged in to vote

Hi @bugix, thanks for providing the project, now I see what you are talking about.

Sadly this is just a sharp edge of using Swift 5 language mode with modern concurrency tools and minimal concurrency checking. It leads to compiling code that can crash at runtime. The crux of the problem is that you are using default main actor isolation, so everything is implicitly main actor, but key paths on main actor types are not Sendable, and that can lead to accessing main actor data on non-main threads. And because you are using Swift 5 mode and "minimal" concurrency checking (the default in Xcode), there is no warning or error about this problem.

Due to the fact that Swift has lots of "modes" and…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
2 replies
@mbrandonw
Comment options

Answer selected by bugix
@bugix
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants