Build Information
Successful build of Athena, reference 0.0.12 (a4e351
), with Swift 6.1 for Linux on 27 Apr 2025 14:05:55 UTC.
Swift 6 data race errors: 9
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vsanthanam/Athena.git
Reference: 0.0.12
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/vsanthanam/Athena
* tag 0.0.12 -> FETCH_HEAD
HEAD is now at a4e3517 Add custom string interpolation for `JSONEncodable` conforming types (#26)
Cloned https://github.com/vsanthanam/Athena.git
Revision (git rev-parse @):
a4e3517d00cf0bbef9dc3c7f7b972b3024ff8a76
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/vsanthanam/Athena.git at 0.0.12
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/vsanthanam/Athena.git
https://github.com/vsanthanam/Athena.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
},
{
"identity" : "swiftformat",
"requirement" : {
"exact" : [
"0.51.7"
]
},
"type" : "sourceControl",
"url" : "https://github.com/nicklockwood/SwiftFormat"
}
],
"manifest_display_name" : "Athena",
"name" : "Athena",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Athena",
"targets" : [
"Athena"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "AthenaTests",
"module_type" : "SwiftTarget",
"name" : "AthenaTests",
"path" : "Tests/AthenaTests",
"sources" : [
"DeserializerTests.swift",
"EncodeDecodeTests.swift",
"JSONEncodingUTFTestFixtures.swift",
"JSONTests.swift"
],
"target_dependencies" : [
"Athena"
],
"type" : "test"
},
{
"c99name" : "Athena",
"module_type" : "SwiftTarget",
"name" : "Athena",
"path" : "Sources/Athena",
"product_memberships" : [
"Athena"
],
"sources" : [
"Decoder.swift",
"Deserializer.swift",
"DeserializerOptions.swift",
"Encoder.swift",
"EncodingDetector.swift",
"Error.swift",
"Internal/IntExtensions.swift",
"Internal/NumberParser.swift",
"Internal/SerializationOptionsExtensions.swift",
"Internal/StringExtensions.swift",
"Internal/UInt8Extensions.swift",
"Internal/UnicodeEscapeParser.swift",
"JSON.swift",
"JSONCodable.swift",
"JSONSubscriptRepresentable.swift",
"Literal.swift",
"LiteralDecodable.swift",
"Number.swift",
"NumberDecodable.swift",
"Serializer.swift",
"SerializerOptions.swift",
"StringInterpolationExtensions.swift",
"Subscript.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/nicklockwood/SwiftFormat
[1/2049] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (0.36s)
[1/46730] Fetching swiftformat
warning: 'swiftformat': skipping cache due to an error: Failed to clone repository https://github.com/nicklockwood/SwiftFormat:
Cloning into bare repository '/root/.cache/org.swift.swiftpm/repositories/SwiftFormat-92afd852'...
remote: Enumerating objects: 46730, done.
remote: Counting objects: 0% (1/1580)
remote: Counting objects: 1% (16/1580)
remote: Counting objects: 2% (32/1580)
remote: Counting objects: 3% (48/1580)
remote: Counting objects: 4% (64/1580)
remote: Counting objects: 5% (79/1580)
remote: Counting objects: 6% (95/1580)
remote: Counting objects: 7% (111/1580)
remote: Counting objects: 8% (127/1580)
remote: Counting objects: 9% (143/1580)
remote: Counting objects: 10% (158/1580)
remote: Counting objects: 11% (174/1580)
remote: Counting objects: 12% (190/1580)
remote: Counting objects: 13% (206/1580)
remote: Counting objects: 14% (222/1580)
remote: Counting objects: 15% (237/1580)
remote: Counting objects: 16% (253/1580)
remote: Counting objects: 17% (269/1580)
remote: Counting objects: 18% (285/1580)
remote: Counting objects: 19% (301/1580)
remote: Counting objects: 20% (316/1580)
remote: Counting objects: 21% (332/1580)
remote: Counting objects: 22% (348/1580)
remote: Counting objects: 23% (364/1580)
remote: Counting objects: 24% (380/1580)
remote: Counting objects: 25% (395/1580)
remote: Counting objects: 26% (411/1580)
remote: Counting objects: 27% (427/1580)
remote: Counting objects: 28% (443/1580)
remote: Counting objects: 29% (459/1580)
remote: Counting objects: 30% (474/1580)
remote: Counting objects: 31% (490/1580)
remote: Counting objects: 32% (506/1580)
remote: Counting objects: 33% (522/1580)
remote: Counting objects: 34% (538/1580)
remote: Counting objects: 35% (553/1580)
remote: Counting objects: 36% (569/1580)
remote: Counting objects: 37% (585/1580)
remote: Counting objects: 38% (601/1580)
remote: Counting objects: 39% (617/1580)
remote: Counting objects: 40% (632/1580)
remote: Counting objects: 41% (648/1580)
remote: Counting objects: 42% (664/1580)
remote: Counting objects: 43% (680/1580)
remote: Counting objects: 44% (696/1580)
remote: Counting objects: 45% (711/1580)
remote: Counting objects: 46% (727/1580)
remote: Counting objects: 47% (743/1580)
remote: Counting objects: 48% (759/1580)
remote: Counting objects: 49% (775/1580)
remote: Counting objects: 50% (790/1580)
remote: Counting objects: 51% (806/1580)
remote: Counting objects: 52% (822/1580)
remote: Counting objects: 53% (838/1580)
remote: Counting objects: 54% (854/1580)
remote: Counting objects: 55% (869/1580)
remote: Counting objects: 56% (885/1580)
remote: Counting objects: 57% (901/1580)
remote: Counting objects: 58% (917/1580)
remote: Counting objects: 59% (933/1580)
remote: Counting objects: 60% (948/1580)
remote: Counting objects: 61% (964/1580)
remote: Counting objects: 62% (980/1580)
remote: Counting objects: 63% (996/1580)
remote: Counting objects: 64% (1012/1580)
remote: Counting objects: 65% (1027/1580)
remote: Counting objects: 66% (1043/1580)
remote: Counting objects: 67% (1059/1580)
remote: Counting objects: 68% (1075/1580)
remote: Counting objects: 69% (1091/1580)
remote: Counting objects: 70% (1106/1580)
remote: Counting objects: 71% (1122/1580)
remote: Counting objects: 72% (1138/1580)
remote: Counting objects: 73% (1154/1580)
remote: Counting objects: 74% (1170/1580)
remote: Counting objects: 75% (1185/1580)
remote: Counting objects: 76% (1201/1580)
remote: Counting objects: 77% (1217/1580)
remote: Counting objects: 78% (1233/1580)
remote: Counting objects: 79% (1249/1580)
remote: Counting objects: 80% (1264/1580)
remote: Counting objects: 81% (1280/1580)
remote: Counting objects: 82% (1296/1580)
remote: Counting objects: 83% (1312/1580)
remote: Counting objects: 84% (1328/1580)
remote: Counting objects: 85% (1343/1580)
remote: Counting objects: 86% (1359/1580)
remote: Counting objects: 87% (1375/1580)
remote: Counting objects: 88% (1391/1580)
remote: Counting objects: 89% (1407/1580)
remote: Counting objects: 90% (1422/1580)
remote: Counting objects: 91% (1438/1580)
remote: Counting objects: 92% (1454/1580)
remote: Counting objects: 93% (1470/1580)
remote: Counting objects: 94% (1486/1580)
remote: Counting objects: 95% (1501/1580)
remote: Counting objects: 96% (1517/1580)
remote: Counting objects: 97% (1533/1580)
remote: Counting objects: 98% (1549/1580)
remote: Counting objects: 99% (1565/1580)
remote: Counting objects: 100% (1580/1580)
remote: Counting objects: 100% (1580/1580), done.
remote: Compressing objects: 0% (1/325)
remote: Compressing objects: 1% (4/325)
remote: Compressing objects: 2% (7/325)
remote: Compressing objects: 3% (10/325)
remote: Compressing objects: 4% (13/325)
remote: Compressing objects: 5% (17/325)
remote: Compressing objects: 6% (20/325)
remote: Compressing objects: 7% (23/325)
remote: Compressing objects: 8% (26/325)
remote: Compressing objects: 9% (30/325)
remote: Compressing objects: 10% (33/325)
remote: Compressing objects: 11% (36/325)
remote: Compressing objects: 12% (39/325)
remote: Compressing objects: 13% (43/325)
remote: Compressing objects: 14% (46/325)
remote: Compressing objects: 15% (49/325)
remote: Compressing objects: 16% (52/325)
remote: Compressing objects: 17% (56/325)
remote: Compressing objects: 18% (59/325)
remote: Compressing objects: 19% (62/325)
remote: Compressing objects: 20% (65/325)
remote: Compressing objects: 21% (69/325)
remote: Compressing objects: 22% (72/325)
remote: Compressing objects: 23% (75/325)
remote: Compressing objects: 24% (78/325)
remote: Compressing objects: 25% (82/325)
remote: Compressing objects: 26% (85/325)
remote: Compressing objects: 27% (88/325)
remote: Compressing objects: 28% (91/325)
remote: Compressing objects: 29% (95/325)
remote: Compressing objects: 30% (98/325)
remote: Compressing objects: 31% (101/325)
remote: Compressing objects: 32% (104/325)
remote: Compressing objects: 33% (108/325)
remote: Compressing objects: 34% (111/325)
remote: Compressing objects: 35% (114/325)
remote: Compressing objects: 36% (117/325)
remote: Compressing objects: 37% (121/325)
remote: Compressing objects: 38% (124/325)
remote: Compressing objects: 39% (127/325)
remote: Compressing objects: 40% (130/325)
remote: Compressing objects: 41% (134/325)
remote: Compressing objects: 42% (137/325)
remote: Compressing objects: 43% (140/325)
remote: Compressing objects: 44% (143/325)
remote: Compressing objects: 45% (147/325)
remote: Compressing objects: 46% (150/325)
remote: Compressing objects: 47% (153/325)
remote: Compressing objects: 48% (156/325)
remote: Compressing objects: 49% (160/325)
remote: Compressing objects: 50% (163/325)
remote: Compressing objects: 51% (166/325)
remote: Compressing objects: 52% (169/325)
remote: Compressing objects: 53% (173/325)
remote: Compressing objects: 54% (176/325)
remote: Compressing objects: 55% (179/325)
remote: Compressing objects: 56% (182/325)
remote: Compressing objects: 57% (186/325)
remote: Compressing objects: 58% (189/325)
remote: Compressing objects: 59% (192/325)
remote: Compressing objects: 60% (195/325)
remote: Compressing objects: 61% (199/325)
remote: Compressing objects: 62% (202/325)
remote: Compressing objects: 63% (205/325)
remote: Compressing objects: 64% (208/325)
remote: Compressing objects: 65% (212/325)
remote: Compressing objects: 66% (215/325)
remote: Compressing objects: 67% (218/325)
remote: Compressing objects: 68% (221/325)
remote: Compressing objects: 69% (225/325)
remote: Compressing objects: 70% (228/325)
remote: Compressing objects: 71% (231/325)
remote: Compressing objects: 72% (234/325)
remote: Compressing objects: 73% (238/325)
remote: Compressing objects: 74% (241/325)
remote: Compressing objects: 75% (244/325)
remote: Compressing objects: 76% (247/325)
remote: Compressing objects: 77% (251/325)
remote: Compressing objects: 78% (254/325)
remote: Compressing objects: 79% (257/325)
remote: Compressing objects: 80% (260/325)
remote: Compressing objects: 81% (264/325)
remote: Compressing objects: 82% (267/325)
remote: Compressing objects: 83% (270/325)
remote: Compressing objects: 84% (273/325)
remote: Compressing objects: 85% (277/325)
remote: Compressing objects: 86% (280/325)
remote: Compressing objects: 87% (283/325)
remote: Compressing objects: 88% (286/325)
remote: Compressing objects: 89% (290/325)
remote: Compressing objects: 90% (293/325)
remote: Compressing objects: 91% (296/325)
remote: Compressing objects: 92% (299/325)
remote: Compressing objects: 93% (303/325)
remote: Compressing objects: 94% (306/325)
remote: Compressing objects: 95% (309/325)
remote: Compressing objects: 96% (312/325)
remote: Compressing objects: 97% (316/325)
remote: Compressing objects: 98% (319/325)
remote: Compressing objects: 99% (322/325)
remote: Compressing objects: 100% (325/325)
remote: Compressing objects: 100% (325/325), done.
Receiving objects: 0% (1/46730)
Receiving objects: 1% (468/46730)
Receiving objects: 2% (935/46730)
Receiving objects: 3% (1402/46730)
Receiving objects: 4% (1870/46730)
Receiving objects: 5% (2337/46730)
Receiving objects: 6% (2804/46730)
Receiving objects: 7% (3272/46730)
Receiving objects: 8% (3739/46730)
Receiving objects: 9% (4206/46730)
Receiving objects: 10% (4673/46730)
Receiving objects: 11% (5141/46730), 17.28 MiB | 34.54 MiB/s
Receiving objects: 12% (5608/46730), 17.28 MiB | 34.54 MiB/s
Receiving objects: 12% (5995/46730), 38.05 MiB | 38.04 MiB/s
error: 7423 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
Fetching https://github.com/nicklockwood/SwiftFormat
Fetched https://github.com/nicklockwood/SwiftFormat from cache (21.18s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.51.7 (34.93s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.3 (0.49s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3375] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.34s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.85s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.51.7
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin Swift-DocC Preview
[3/3] Compiling plugin Swift-DocC
Building for debugging...
[3/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/27] Emitting module Athena
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:35:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Allow fragments
35 | public static let fragmentsAllowed = Options(rawValue: 1 << 0)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Remove keys from objects with null values
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:38:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Remove keys from objects with null values
38 | public static let nullSkipsKey = Options(rawValue: 1 << 1)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The default options
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:41:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// The default options
41 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:35:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Remove keys from objects with null values
35 | public static let nullSkipsKey = Options(rawValue: 1 << 0)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Add pretty printing format to the string
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:38:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Add pretty printing format to the string
38 | public static let prettyPrinted = Options(rawValue: 1 << 1)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// Sort the keys in an object
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:41:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// Sort the keys in an object
41 | public static let sortedKeys = Options(rawValue: 1 << 2)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Allow fragments
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:44:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
42 |
43 | /// Allow fragments
44 | public static let fragmentsAllowed = Options(rawValue: 1 << 4)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Remove escaping slashes
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:48:27: warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
46 | /// Remove escaping slashes
47 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
48 | public static let withoutEscapingSlashes = Options(rawValue: 1 << 5)
| |- warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'withoutEscapingSlashes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// The default options
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:51:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
49 |
50 | /// The default options
51 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | // MARK: - OptionSet
[7/29] Compiling Athena Literal.swift
[8/29] Compiling Athena LiteralDecodable.swift
[9/29] Compiling Athena Number.swift
[10/29] Compiling Athena NumberDecodable.swift
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:115:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
113 | try serialize(json, options: options)
114 | }
115 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 | }
117 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 | try stringify(json, options: options)
148 | }
149 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | }
151 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:35:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Remove keys from objects with null values
35 | public static let nullSkipsKey = Options(rawValue: 1 << 0)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Add pretty printing format to the string
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:38:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Add pretty printing format to the string
38 | public static let prettyPrinted = Options(rawValue: 1 << 1)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// Sort the keys in an object
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:41:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// Sort the keys in an object
41 | public static let sortedKeys = Options(rawValue: 1 << 2)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Allow fragments
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:44:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
42 |
43 | /// Allow fragments
44 | public static let fragmentsAllowed = Options(rawValue: 1 << 4)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Remove escaping slashes
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:48:27: warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
46 | /// Remove escaping slashes
47 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
48 | public static let withoutEscapingSlashes = Options(rawValue: 1 << 5)
| |- warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'withoutEscapingSlashes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// The default options
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:51:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
49 |
50 | /// The default options
51 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:78:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
76 | options: Options = .default
77 | ) async throws -> Data {
78 | try await Task { try serialize(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 | }
80 |
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:133:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
131 | options: Options = .default
132 | ) async throws -> String {
133 | try await Task { try stringify(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
134 | }
135 |
[11/29] Compiling Athena Serializer.swift
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:115:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
113 | try serialize(json, options: options)
114 | }
115 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 | }
117 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 | try stringify(json, options: options)
148 | }
149 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | }
151 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:35:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Remove keys from objects with null values
35 | public static let nullSkipsKey = Options(rawValue: 1 << 0)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Add pretty printing format to the string
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:38:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Add pretty printing format to the string
38 | public static let prettyPrinted = Options(rawValue: 1 << 1)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// Sort the keys in an object
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:41:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// Sort the keys in an object
41 | public static let sortedKeys = Options(rawValue: 1 << 2)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Allow fragments
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:44:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
42 |
43 | /// Allow fragments
44 | public static let fragmentsAllowed = Options(rawValue: 1 << 4)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Remove escaping slashes
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:48:27: warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
46 | /// Remove escaping slashes
47 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
48 | public static let withoutEscapingSlashes = Options(rawValue: 1 << 5)
| |- warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'withoutEscapingSlashes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// The default options
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:51:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
49 |
50 | /// The default options
51 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:78:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
76 | options: Options = .default
77 | ) async throws -> Data {
78 | try await Task { try serialize(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 | }
80 |
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:133:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
131 | options: Options = .default
132 | ) async throws -> String {
133 | try await Task { try stringify(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
134 | }
135 |
[12/29] Compiling Athena SerializerOptions.swift
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:115:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
113 | try serialize(json, options: options)
114 | }
115 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<Data, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
116 | }
117 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:113:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
111 | DispatchQueue.global().async {
112 | let result = Result<Data, any Swift.Error> {
113 | try serialize(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | }
115 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:149:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 | try stringify(json, options: options)
148 | }
149 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<String, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | }
151 | }
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:147:50: warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
145 | DispatchQueue.global().async {
146 | let result = Result {
147 | try stringify(json, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Serializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
148 | }
149 | completionHandler(json, result)
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:35:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Remove keys from objects with null values
35 | public static let nullSkipsKey = Options(rawValue: 1 << 0)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Add pretty printing format to the string
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:38:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Add pretty printing format to the string
38 | public static let prettyPrinted = Options(rawValue: 1 << 1)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// Sort the keys in an object
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:41:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// Sort the keys in an object
41 | public static let sortedKeys = Options(rawValue: 1 << 2)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Allow fragments
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:44:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
42 |
43 | /// Allow fragments
44 | public static let fragmentsAllowed = Options(rawValue: 1 << 4)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | /// Remove escaping slashes
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:48:27: warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
46 | /// Remove escaping slashes
47 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
48 | public static let withoutEscapingSlashes = Options(rawValue: 1 << 5)
| |- warning: static property 'withoutEscapingSlashes' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'withoutEscapingSlashes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// The default options
/host/spi-builder-workspace/Sources/Athena/SerializerOptions.swift:51:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Serializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
49 |
50 | /// The default options
51 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Serializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:78:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
76 | options: Options = .default
77 | ) async throws -> Data {
78 | try await Task { try serialize(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 | }
80 |
/host/spi-builder-workspace/Sources/Athena/Serializer.swift:133:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
131 | options: Options = .default
132 | ) async throws -> String {
133 | try await Task { try stringify(json, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
134 | }
135 |
[13/29] Compiling Athena Encoder.swift
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:99:35: warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | @available(watchOS, deprecated: 8.0, message: "Use the Swift Concurrency based APIs instead.")
93 | @available(tvOS, deprecated: 15.0, message: "Use the Swift Concurrency based APIs instead.")
94 | public static func encode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
95 | _ value: T,
96 | completionHandler: @escaping (T, JSON) -> Void
97 | ) where T: JSONEncodable {
98 | DispatchQueue.global().async {
99 | let json = encode(value)
| `- warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | completionHandler(value, json)
101 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:100:17: warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
98 | DispatchQueue.global().async {
99 | let json = encode(value)
100 | completionHandler(value, json)
| |- warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
101 | }
102 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:69:24: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
67 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
68 | public static func encode<T>(_ value: T) async -> JSON where T: JSONEncodable {
69 | await Task { encode(value) }.value
| | `- note: closure captures 'value' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
70 | }
71 |
[14/29] Compiling Athena EncodingDetector.swift
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:99:35: warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | @available(watchOS, deprecated: 8.0, message: "Use the Swift Concurrency based APIs instead.")
93 | @available(tvOS, deprecated: 15.0, message: "Use the Swift Concurrency based APIs instead.")
94 | public static func encode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
95 | _ value: T,
96 | completionHandler: @escaping (T, JSON) -> Void
97 | ) where T: JSONEncodable {
98 | DispatchQueue.global().async {
99 | let json = encode(value)
| `- warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | completionHandler(value, json)
101 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:100:17: warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
98 | DispatchQueue.global().async {
99 | let json = encode(value)
100 | completionHandler(value, json)
| |- warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
101 | }
102 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:69:24: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
67 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
68 | public static func encode<T>(_ value: T) async -> JSON where T: JSONEncodable {
69 | await Task { encode(value) }.value
| | `- note: closure captures 'value' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
70 | }
71 |
[15/29] Compiling Athena Error.swift
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:99:35: warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | @available(watchOS, deprecated: 8.0, message: "Use the Swift Concurrency based APIs instead.")
93 | @available(tvOS, deprecated: 15.0, message: "Use the Swift Concurrency based APIs instead.")
94 | public static func encode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
95 | _ value: T,
96 | completionHandler: @escaping (T, JSON) -> Void
97 | ) where T: JSONEncodable {
98 | DispatchQueue.global().async {
99 | let json = encode(value)
| `- warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 | completionHandler(value, json)
101 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:100:17: warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
98 | DispatchQueue.global().async {
99 | let json = encode(value)
100 | completionHandler(value, json)
| |- warning: capture of 'completionHandler' with non-sendable type '(T, JSON) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
101 | }
102 | }
/host/spi-builder-workspace/Sources/Athena/Encoder.swift:69:24: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
67 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
68 | public static func encode<T>(_ value: T) async -> JSON where T: JSONEncodable {
69 | await Task { encode(value) }.value
| | `- note: closure captures 'value' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
70 | }
71 |
[16/29] Compiling Athena StringInterpolationExtensions.swift
[17/29] Compiling Athena Subscript.swift
[18/29] Compiling Athena JSON.swift
[19/29] Compiling Athena JSONCodable.swift
[20/29] Compiling Athena JSONSubscriptRepresentable.swift
[21/29] Compiling Athena Decoder.swift
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:61: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:122:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 | try decode(type, from: json)
121 | }
122 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 | }
124 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:118:17: warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
116 | try parse(data, maximumDepth: .max, options: options)
117 | }
118 | completionHandler(data, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | }
120 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:204:17: warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
202 | try parse(jsonString, maximumDepth: .max, options: options)
203 | }
204 | completionHandler(jsonString, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 | }
206 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:35:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Allow fragments
35 | public static let fragmentsAllowed = Options(rawValue: 1 << 0)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Remove keys from objects with null values
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:38:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Remove keys from objects with null values
38 | public static let nullSkipsKey = Options(rawValue: 1 << 1)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The default options
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:41:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// The default options
41 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:80:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
78 | options: Options = .default
79 | ) async throws -> JSON {
80 | try await Task { try parse(data, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
81 | }
82 |
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:166:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
164 | options: Options = .default
165 | ) async throws -> JSON {
166 | try await Task { try parse(jsonString, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
167 | }
168 |
[22/29] Compiling Athena Deserializer.swift
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:61: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:122:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 | try decode(type, from: json)
121 | }
122 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 | }
124 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:118:17: warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
116 | try parse(data, maximumDepth: .max, options: options)
117 | }
118 | completionHandler(data, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | }
120 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:204:17: warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
202 | try parse(jsonString, maximumDepth: .max, options: options)
203 | }
204 | completionHandler(jsonString, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 | }
206 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:35:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Allow fragments
35 | public static let fragmentsAllowed = Options(rawValue: 1 << 0)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Remove keys from objects with null values
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:38:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Remove keys from objects with null values
38 | public static let nullSkipsKey = Options(rawValue: 1 << 1)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The default options
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:41:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// The default options
41 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:80:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
78 | options: Options = .default
79 | ) async throws -> JSON {
80 | try await Task { try parse(data, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
81 | }
82 |
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:166:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
164 | options: Options = .default
165 | ) async throws -> JSON {
166 | try await Task { try parse(jsonString, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
167 | }
168 |
[23/29] Compiling Athena DeserializerOptions.swift
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:23: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:82:61: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | /// - Throws: A ``JSON/Error`` if the value could not be decoded successfully
77 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
78 | public static func decode<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
79 | _ type: T.Type = T.self,
80 | from json: JSON
81 | ) async throws -> T where T: JSONDecodable {
82 | try await Task { try decode(type, from: json) }.value
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | }
84 |
/host/spi-builder-workspace/Sources/Athena/Decoder.swift:122:17: warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
120 | try decode(type, from: json)
121 | }
122 | completionHandler(json, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(JSON, Result<T, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
123 | }
124 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:118:17: warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
116 | try parse(data, maximumDepth: .max, options: options)
117 | }
118 | completionHandler(data, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 | }
120 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:116:66: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
114 | DispatchQueue.global().async {
115 | let result: Result<JSON, any Swift.Error> = .init {
116 | try parse(data, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
117 | }
118 | completionHandler(data, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in a '@Sendable' closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:204:17: warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
202 | try parse(jsonString, maximumDepth: .max, options: options)
203 | }
204 | completionHandler(jsonString, result)
| |- warning: capture of 'completionHandler' with non-sendable type '(String, Result<JSON, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
205 | }
206 | }
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:202:72: warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
200 | DispatchQueue.global().async {
201 | let result: Result<JSON, any Swift.Error> = .init {
202 | try parse(jsonString, maximumDepth: .max, options: options)
| `- warning: capture of 'options' with non-sendable type 'JSON.Deserializer.Options' in an isolated closure; this is an error in the Swift 6 language mode
203 | }
204 | completionHandler(jsonString, result)
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:30:12: note: consider making struct 'Options' conform to the 'Sendable' protocol
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:35:27: warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
33 |
34 | /// Allow fragments
35 | public static let fragmentsAllowed = Options(rawValue: 1 << 0)
| |- warning: static property 'fragmentsAllowed' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fragmentsAllowed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Remove keys from objects with null values
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:38:27: warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
36 |
37 | /// Remove keys from objects with null values
38 | public static let nullSkipsKey = Options(rawValue: 1 << 1)
| |- warning: static property 'nullSkipsKey' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'nullSkipsKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | /// The default options
/host/spi-builder-workspace/Sources/Athena/DeserializerOptions.swift:41:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | /// A bitmask used to provide customization options when using the static interface of ``JSON/Deserializer``
30 | struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
31 |
32 | // MARK: - API
:
39 |
40 | /// The default options
41 | public static let `default`: Options = [.fragmentsAllowed]
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'JSON.Deserializer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | // MARK: - OptionSet
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:80:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
78 | options: Options = .default
79 | ) async throws -> JSON {
80 | try await Task { try parse(data, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
81 | }
82 |
/host/spi-builder-workspace/Sources/Athena/Deserializer.swift:166:28: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
164 | options: Options = .default
165 | ) async throws -> JSON {
166 | try await Task { try parse(jsonString, maximumDepth: .max, options: options) }.value
| | `- note: closure captures 'options' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
167 | }
168 |
[24/29] Compiling Athena StringExtensions.swift
[25/29] Compiling Athena UInt8Extensions.swift
[26/29] Compiling Athena UnicodeEscapeParser.swift
[27/29] Compiling Athena IntExtensions.swift
[28/29] Compiling Athena NumberParser.swift
[29/29] Compiling Athena SerializationOptionsExtensions.swift
Build complete! (63.78s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
},
{
"identity" : "swiftformat",
"requirement" : {
"exact" : [
"0.51.7"
]
},
"type" : "sourceControl",
"url" : "https://github.com/nicklockwood/SwiftFormat"
}
],
"manifest_display_name" : "Athena",
"name" : "Athena",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Athena",
"targets" : [
"Athena"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "AthenaTests",
"module_type" : "SwiftTarget",
"name" : "AthenaTests",
"path" : "Tests/AthenaTests",
"sources" : [
"DeserializerTests.swift",
"EncodeDecodeTests.swift",
"JSONEncodingUTFTestFixtures.swift",
"JSONTests.swift"
],
"target_dependencies" : [
"Athena"
],
"type" : "test"
},
{
"c99name" : "Athena",
"module_type" : "SwiftTarget",
"name" : "Athena",
"path" : "Sources/Athena",
"product_memberships" : [
"Athena"
],
"sources" : [
"Decoder.swift",
"Deserializer.swift",
"DeserializerOptions.swift",
"Encoder.swift",
"EncodingDetector.swift",
"Error.swift",
"Internal/IntExtensions.swift",
"Internal/NumberParser.swift",
"Internal/SerializationOptionsExtensions.swift",
"Internal/StringExtensions.swift",
"Internal/UInt8Extensions.swift",
"Internal/UnicodeEscapeParser.swift",
"JSON.swift",
"JSONCodable.swift",
"JSONSubscriptRepresentable.swift",
"Literal.swift",
"LiteralDecodable.swift",
"Number.swift",
"NumberDecodable.swift",
"Serializer.swift",
"SerializerOptions.swift",
"StringInterpolationExtensions.swift",
"Subscript.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.