Skip to content

Commit 5d9085e

Browse files
committed
Fixes for Xcode 16/Swift 6
strict-concurrency-fix
1 parent 10e763b commit 5d9085e

File tree

3 files changed

+47
-47
lines changed

3 files changed

+47
-47
lines changed

Package.swift

+11-14
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ let package = Package(
99
.library(name: "ArgumentEncoding", targets: ["ArgumentEncoding"]),
1010
],
1111
dependencies: [
12-
.dependencies,
12+
.dependencies(),
1313
],
1414
targets: [
1515
.target(
1616
name: "ArgumentEncoding",
1717
dependencies: [
18-
.dependencies,
18+
.dependencies(),
1919
],
2020
swiftSettings: .swiftSix
2121
),
@@ -32,25 +32,22 @@ let package = Package(
3232
// MARK: PointFree
3333

3434
extension Package.Dependency {
35-
static let dependencies: Package.Dependency = .package(
36-
url: "https://github.com/pointfreeco/swift-dependencies.git",
37-
.upToNextMajor(from: "1.0.0")
38-
)
35+
static func dependencies() -> Package.Dependency {
36+
.package(
37+
url: "https://github.com/pointfreeco/swift-dependencies.git",
38+
.upToNextMajor(from: "1.0.0")
39+
)
40+
}
3941
}
4042

4143
extension Target.Dependency {
42-
static let dependencies: Self = .product(name: "Dependencies", package: "swift-dependencies")
44+
static func dependencies() -> Self {
45+
.product(name: "Dependencies", package: "swift-dependencies")
46+
}
4347
}
4448

4549
extension [SwiftSetting] {
4650
static let swiftSix: Self = [
47-
.enableUpcomingFeature("BareSlashRegexLiterals"),
48-
.enableUpcomingFeature("ConciseMagicFile"),
49-
.enableUpcomingFeature("DeprecateApplicationMain"),
50-
.enableUpcomingFeature("DisableOutwardActorInference"),
51-
.enableUpcomingFeature("ForwardTrailingClosures"),
52-
.enableUpcomingFeature("ImportObjcForwardDeclarations"),
53-
.enableUpcomingFeature("InternalImportsByDefault"),
5451
.enableExperimentalFeature("StrictConcurrency"),
5552
]
5653
}

[email protected]

+14-25
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.8
1+
// swift-tools-version: 6.0
22

33
import PackageDescription
44

@@ -9,48 +9,37 @@ let package = Package(
99
.library(name: "ArgumentEncoding", targets: ["ArgumentEncoding"]),
1010
],
1111
dependencies: [
12-
.dependencies,
12+
.dependencies(),
1313
],
1414
targets: [
1515
.target(
1616
name: "ArgumentEncoding",
1717
dependencies: [
18-
.dependencies,
19-
],
20-
swiftSettings: .swiftSix
18+
.dependencies(),
19+
]
2120
),
2221
.testTarget(
2322
name: "ArgumentEncodingTests",
2423
dependencies: [
2524
"ArgumentEncoding",
26-
],
27-
swiftSettings: .swiftSix
25+
]
2826
),
2927
]
3028
)
3129

3230
// MARK: PointFree
3331

3432
extension Package.Dependency {
35-
static let dependencies: Package.Dependency = .package(
36-
url: "https://github.com/pointfreeco/swift-dependencies.git",
37-
.upToNextMajor(from: "1.0.0")
38-
)
33+
static func dependencies() -> Package.Dependency {
34+
.package(
35+
url: "https://github.com/pointfreeco/swift-dependencies.git",
36+
.upToNextMajor(from: "1.0.0")
37+
)
38+
}
3939
}
4040

4141
extension Target.Dependency {
42-
static let dependencies: Self = .product(name: "Dependencies", package: "swift-dependencies")
43-
}
44-
45-
extension [SwiftSetting] {
46-
static let swiftSix: Self = [
47-
.enableUpcomingFeature("BareSlashRegexLiterals"),
48-
.enableUpcomingFeature("ConciseMagicFile"),
49-
.enableUpcomingFeature("DeprecateApplicationMain"),
50-
.enableUpcomingFeature("DisableOutwardActorInference"),
51-
.enableUpcomingFeature("ForwardTrailingClosures"),
52-
.enableUpcomingFeature("ImportObjcForwardDeclarations"),
53-
.enableUpcomingFeature("InternalImportsByDefault"),
54-
.enableUpcomingFeature("StrictConcurrency"),
55-
]
42+
static func dependencies() -> Self {
43+
.product(name: "Dependencies", package: "swift-dependencies")
44+
}
5645
}

Tests/ArgumentEncodingTests/ArgumentGroupTests.swift

+22-8
Original file line numberDiff line numberDiff line change
@@ -250,14 +250,28 @@ final class ArgumentGroupTests: XCTestCase {
250250
}
251251
}
252252

253-
extension Array: ArgumentGroup, FormatterNode {
254-
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
253+
#if swift(>=6)
254+
extension Array: @retroactive ArgumentGroup, @retroactive FormatterNode {
255+
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
255256

256-
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
257-
}
257+
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
258+
}
258259

259-
extension Dictionary: ArgumentGroup, FormatterNode {
260-
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
260+
extension Dictionary: @retroactive ArgumentGroup, @retroactive FormatterNode {
261+
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
261262

262-
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
263-
}
263+
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
264+
}
265+
#else
266+
extension Array: ArgumentGroup, FormatterNode {
267+
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
268+
269+
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
270+
}
271+
272+
extension Dictionary: ArgumentGroup, FormatterNode {
273+
public var flagFormatter: ArgumentEncoding.FlagFormatter { FlagFormatter(prefix: .doubleDash) }
274+
275+
public var optionFormatter: ArgumentEncoding.OptionFormatter { OptionFormatter(prefix: .doubleDash) }
276+
}
277+
#endif

0 commit comments

Comments
 (0)