Skip to content

Commit 054aef4

Browse files
committed
Fix Swift 5.9 build
5.10 not available on GH yet. Disabled concurrency checks, given that they are not fully supported in 5.9 yet.
1 parent 72287cc commit 054aef4

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

Package.swift

+8-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
import PackageDescription
33
import CompilerPluginSupport
44

5+
#if swift(>=5.10)
6+
let settings = [ .enableExperimentalFeature("StrictConcurrency") ]
7+
#else
8+
let settings = [ SwiftSetting ]()
9+
#endif
10+
511
let package = Package(
612
name: "ManagedModels",
713

@@ -16,11 +22,9 @@ let package = Package(
1622
.target(
1723
name: "ManagedModels",
1824
dependencies: [ "ManagedModelMacros" ],
19-
swiftSettings: [
20-
.enableExperimentalFeature("StrictConcurrency")
21-
]
25+
swiftSettings: settings
2226
),
23-
27+
2428
.macro(
2529
name: "ManagedModelMacros",
2630
dependencies: [

Sources/ManagedModels/SchemaCompatibility/NSManagedObjectModel+Data.swift

+7-1
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,14 @@ public extension NSManagedObjectModel {
3737
// MARK: - Cached ManagedObjectModels
3838

3939
private let lock = NSLock()
40-
nonisolated(unsafe) private var map = [ Set<ObjectIdentifier> : NSManagedObjectModel ]()
40+
#if swift(>=5.10)
41+
nonisolated(unsafe)
42+
private var map = [ Set<ObjectIdentifier> : NSManagedObjectModel ]()
4143
nonisolated(unsafe) private let sharedBuilder = SchemaBuilder()
44+
#else // 5.9: nonisolated(unsafe) not available, nonisolated nor working on var
45+
private var map = [ Set<ObjectIdentifier> : NSManagedObjectModel ]()
46+
nonisolated private let sharedBuilder = SchemaBuilder()
47+
#endif
4248

4349
public extension NSManagedObjectModel {
4450

Sources/ManagedModels/SchemaCompatibility/NSPropertyDescription+Data.swift

+4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55

66
extension NSPropertyDescription {
77
private struct AssociatedKeys {
8+
#if swift(>=5.10)
89
nonisolated(unsafe) static var propertyIsUniqueAssociatedKey: Void? = nil
10+
#else // 5.9: nonisolated(unsafe) not available
11+
static var propertyIsUniqueAssociatedKey: Void? = nil
12+
#endif
913
}
1014

1115
public internal(set) var isUnique: Bool {

Sources/ManagedModels/SchemaCompatibility/NSRelationshipDescription+Data.swift

+4
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,11 @@ extension CoreData.NSRelationshipDescription {
201201
}
202202

203203
private struct AssociatedKeys {
204+
#if swift(>=5.10)
204205
nonisolated(unsafe) static var relationshipInfoAssociatedKey: Void? = nil
206+
#else // 5.9: nonisolated(unsafe) not available
207+
static var relationshipInfoAssociatedKey: Void? = nil
208+
#endif
205209
}
206210

207211
var writableRelationshipInfo : MacroInfo {

0 commit comments

Comments
 (0)