Can I use swift 6 but without strict concurrency check?

Generated on 8/2/2024

1 search

Yes, you can use Swift 6 without enabling strict concurrency checks. The new Swift 6 language mode, which includes full data-race safety, is opt-in. This means you can adopt it when you're ready and even do so incrementally, module by module. You can also interoperate with dependencies that may not have migrated to Swift 6 yet.

For example, in the session Migrate your app to Swift 6, it is mentioned that you can start by enabling warnings for concurrency issues without fully adopting the strict concurrency checks. This allows you to gradually address concurrency issues while still building and running your project.

Additionally, in the session What’s new in Swift, it is noted that data-race safety is the only update governed by enabling the Swift 6 language mode, and all other updates are available by default when you update to the Swift 6 compiler.

Relevant Sessions

  1. Migrate your app to Swift 6
  2. What’s new in Swift
  3. Platforms State of the Union
  4. What’s new in Xcode 16