Skip to content

Swift 6 Compliance/Strict Concurrency #758

@stevenzeck

Description

@stevenzeck

Make the toolkit fully compliant with Swift 6 and strict concurrency. There's a lot to do with this, fortunately it's already begun with #735, #736, #740, and more. You can see in XCode what all needs to be done by updating Package.swift:

- swift-tools-version:5.10
+ swift-tools-version:6.0

When you build, you'll see a lot of errors. The general requirements for Swift 6 are:

  • Moving shared state into actors or marking UI-bound code with @mainactor.
  • Ensuring types passed between threads conform to the Sendable protocol.
  • Using structured concurrency instead of legacy completion handlers where possible.

This will cause breaking changes for consumers. You can get a rough idea of the changes from this compare, though this was done prior to a lot of changes from 740, so don't cherry-pick from it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions