Source Compatibility
See an overview of potential source compatibility issues.
Handling Future Enum Cases
Swift 6 includes a number of evolution proposals that could potentially affect source compatibility. These are all opt-in for the Swift 5 language mode.
Handling Future Enum Cases
SE-0192: NonfrozenEnumExhaustivity
Lack of a required @unknown default has changed from a warning to an error.
Concise magic file names
SE-0274: ConciseMagicFile
The special expression #file has changed to a human-readable string containing the filename and module name.
Forward-scan matching for trailing closures
SE-0286: ForwardTrailingClosures
Could affect code involving multiple, defaulted closure parameters.
Incremental migration to concurrency checking
SE-0337: StrictConcurrency
Will introduce errors for any code that risks data races.
Implicitly Opened Existentials
SE-0352: ImplicitOpenExistentials
Could affect overload resolution for functions that involve both existentials and generic types.
Regex Literals
SE-0354: BareSlashRegexLiterals
Could impact the parsing of code that was previously using a bare slash.
Deprecate @UIApplicationMain and @NSApplicationMain
SE-0383: DeprecateApplicationMain
Will introduce an error for any code that has not migrated to using @main.
Importing Forward Declared Objective-C Interfaces and Protocols
SE-0384: ImportObjcForwardDeclarations
Will expose previously-invisible types that could conflict with existing sources.
Remove Actor Isolation Inference caused by Property Wrappers
SE-0401: DisableOutwardActorInference
Could change the inferred isolation of a type and its members.
Isolated default value expressions
SE-0411: IsolatedDefaultValues
Will introduce errors for code that risks data races.
Strict concurrency for global variables
SE-0412: GlobalConcurrency
Will introduce errors for code that risks data races.
Region based Isolation
SE-0414: RegionBasedIsolation
Increases the constraints of the Actor.assumeIsolated function.
Inferring `Sendable` for methods and key path literals
SE-0418: InferSendableFromCaptures
Could affect overload resolution for functions that differ only by sendability.
Dynamic actor isolation enforcement from non-strict-concurrency contexts
SE-0423: DynamicActorIsolation
Introduces new assertions that could affect existing code if the runtime isolation does not match expectations.
Usability of global-actor-isolated types
SE-0434: GlobalActorIsolatedTypesUsability
Could affect type inference and overload resolution for functions that are globally-isolated but not @Sendable.