---
title: Source Compatibility
framework: swift-migration-guide
path: swift-migration-guide/documentation/swift-6-concurrency-migration-guide/sourcecompatibility
---

# 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. note: For the previous release’s Migration Guide, see Migrating to Swift 5. 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. note: This feature implicitly also enables IsolatedDefaultValues, GlobalConcurrency, and RegionBasedIsolation. 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.
