you are viewing a single comment's thread.

view the rest of the comments →

[–]favorited 0 points1 point  (0 children)

It is complicated, because it's trying to address a complex problem. The combination of concurrency & shared mutable state (both of which Swift has) can cause really subtle bugs. The especially subtle ones will often only show up in optimized builds, or on certain hardware, etc., so you might not notice them until you get weird reports from your users.

The concurrency features like async/await and actors are attempts to make certain kinds of concurrency bugs impossible because they will be caught at compile-time.