When NSManagedObjectContext stops triggering concurrency errors in Swift 6.2 (Xcode 26), the reason isn't an improved compiler — it's a change in how Core Data's SDK imports the type. In Xcode 26, NSManagedObjectContext's header now carries NS_SWIFT_SENDABLE and NS_SWIFT_NONISOLATED annotations, making it a Sendable type in
•8m read time• From fatbobman.com
Table of contents
The ProblemDid Swift 6.2’s Concurrency Analysis Actually Improve?Isolating the Problem with Real CodeFinding the Answer in Core Data’s InterfaceWhat Are NS_SWIFT_SENDABLE and NS_SWIFT_NONISOLATED?Applying These Macros to Our Own Objective-C ClassesRevisiting the Original ProblemClosing ThoughtsSort: