Swift Concurrency is new and hard, and you can do it
summary
Explains that Swift concurrency encodes actors as isolation in the type system, causing real compiler errors when a MultiPeerConnectivity delegate invokes callbacks on background threads and touches main‑thread state; describes interop hazards between Swift 5 and Swift 6 (missing annotations, warnings off), the role of @Sendable closures and dynamic isolation runtime checks, and migration surprises (many Swift 5 workarounds are obsolete in Swift 6). Recommends conditional annotations, reducing unnecessary cross‑thread value passing instead of forcing sendability, and filing compiler bugs.
AI-written summary · about
chapters (10)
- 0:00Swift's evolution
- 1:53Concurrency challenges
- 4:29The isolation model
- 6:10Non-isolated code
- 8:16Static safety limits
- 10:45Interop strategies
- 12:53Risks of disabled safety
- 14:25Migration timeline
- 16:01Compiler feedback
- 18:11Adoption tips
related talks
30mA Practical Guide to Swift Concurrency
31mIsolation, actors, sendable… a concurrency deep dive
20mHow To Approach Approachable Concurrency
26mSwift Concurrency Under the Hood
45mHow We Adapted the Project to Strict Concurrency Checking — Swift 6
31mIs structured concurrency worth the effort?
47mDo We Really Need Swift Modern Concurrency?
47mDo We Really Need Actors in Swift Concurrency?
