~/talk

A Practical Guide to Swift Concurrency

Talkat Swift Craft 2025 · 2025-05-19..05-21· [swift]
slides:none on file

Covers practical migration to Swift 6 and Xcode 16: enabling state-concurrency checks turns up 1,600 warnings across a multi-module codebase and motivates incremental upgrades. Explains data isolation, actor and MainActor guarantees, static vs dynamic isolation, and the new sending keyword that transfers ownership of non-Sendable values. Shows fixes: annotate with @preconcurrency, use nonisolated/isolated any, convert globals to lets or attach global actors, and migrate one target at a time while toggling upcoming-language flags and fixing compiler errors. Includes examples and tradeoffs for performance and debuggability.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 1:09Reasons for Swift 6 concerns
  3. 3:38Swift 6 language mode changes
  4. 5:24Data isolation in Swift 6
  5. 8:19Isolation domains explained
  6. 10:49Isolation boundaries and crossing them
  7. 12:57Actor and main actor isolation
  8. 13:40Isolation inference in Swift
  9. 15:06Global variables and data safety
  10. 16:34Handling non-isolated protocols
  11. 17:41Sendable types and sending keyword
  12. 19:47Function isolation contexts
  13. 20:51Isolated any for generic code
  14. 21:33View protocol main actor changes
  15. 22:58Migration strategies and flags
  16. 24:25When to upgrade to Swift 6
  17. 25:50Step-by-step migration process
  18. 26:54Key takeaways and advice
  19. 27:41Resources and closing
  20. 28:04Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.