Build Information
Successful build of Shallows, reference 0.13.4 (3a9d67
), with Swift 6.0 for Linux on 29 Nov 2024 22:51:33 UTC.
Swift 6 data race errors: 7
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dreymonde/Shallows.git
Reference: 0.13.4
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/dreymonde/Shallows
* tag 0.13.4 -> FETCH_HEAD
HEAD is now at 3a9d673 add asyncMapKeys operator
Cloned https://github.com/dreymonde/Shallows.git
Revision (git rev-parse @):
3a9d673a7c01d6fd4fbaa5cd592648dbae42d4a7
SUCCESS checkout https://github.com/dreymonde/Shallows.git at 0.13.4
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/dreymonde/Shallows.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/7] Write sources
[1/7] Write swift-version-24593BA9C3E375BF.txt
[3/21] Compiling Shallows WriteOnlyStorage.swift
[4/22] Compiling Shallows Storage.swift
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:5:32: warning: capture of 'function' with non-sendable type '(In) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
3 | internal func dispatched<In>(to queue: DispatchQueue, _ function: @escaping (In) -> ()) -> (In) -> () {
4 | return { input in
5 | queue.async(execute: { function(input) })
| |- warning: capture of 'function' with non-sendable type '(In) -> ()' 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'
6 | }
7 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:5:41: warning: capture of 'input' with non-sendable type 'In' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | internal func dispatched<In>(to queue: DispatchQueue, _ function: @escaping (In) -> ()) -> (In) -> () {
| `- note: consider making generic parameter 'In' conform to the 'Sendable' protocol
4 | return { input in
5 | queue.async(execute: { function(input) })
| `- warning: capture of 'input' with non-sendable type 'In' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | }
7 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:32: warning: capture of 'function' with non-sendable type '(In1, In2) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| |- warning: capture of 'function' with non-sendable type '(In1, In2) -> ()' 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'
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:41: warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 | }
8 |
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
| `- note: consider making generic parameter 'In1' conform to the 'Sendable' protocol
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| `- warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:46: warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 | }
8 |
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
| `- note: consider making generic parameter 'In2' conform to the 'Sendable' protocol
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| `- warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:32: warning: capture of 'function' with non-sendable type '(In1, In2, In3) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| |- warning: capture of 'function' with non-sendable type '(In1, In2, In3) -> ()' 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'
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:41: warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In1' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:46: warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In2' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:51: warning: capture of 'in3' with non-sendable type 'In3' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In3' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in3' with non-sendable type 'In3' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
[5/22] Compiling Shallows SyncStorage.swift
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:5:32: warning: capture of 'function' with non-sendable type '(In) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
3 | internal func dispatched<In>(to queue: DispatchQueue, _ function: @escaping (In) -> ()) -> (In) -> () {
4 | return { input in
5 | queue.async(execute: { function(input) })
| |- warning: capture of 'function' with non-sendable type '(In) -> ()' 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'
6 | }
7 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:5:41: warning: capture of 'input' with non-sendable type 'In' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | internal func dispatched<In>(to queue: DispatchQueue, _ function: @escaping (In) -> ()) -> (In) -> () {
| `- note: consider making generic parameter 'In' conform to the 'Sendable' protocol
4 | return { input in
5 | queue.async(execute: { function(input) })
| `- warning: capture of 'input' with non-sendable type 'In' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | }
7 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:32: warning: capture of 'function' with non-sendable type '(In1, In2) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| |- warning: capture of 'function' with non-sendable type '(In1, In2) -> ()' 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'
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:41: warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 | }
8 |
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
| `- note: consider making generic parameter 'In1' conform to the 'Sendable' protocol
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| `- warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:11:46: warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 | }
8 |
9 | internal func dispatched<In1, In2>(to queue: DispatchQueue, _ function: @escaping (In1, In2) -> ()) -> (In1, In2) -> () {
| `- note: consider making generic parameter 'In2' conform to the 'Sendable' protocol
10 | return { in1, in2 in
11 | queue.async(execute: { function(in1, in2) })
| `- warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | }
13 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:32: warning: capture of 'function' with non-sendable type '(In1, In2, In3) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| |- warning: capture of 'function' with non-sendable type '(In1, In2, In3) -> ()' 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'
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:41: warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In1' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in1' with non-sendable type 'In1' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:46: warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In2' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in2' with non-sendable type 'In2' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/host/spi-builder-workspace/Sources/Shallows/SyncStorage.swift:17:51: warning: capture of 'in3' with non-sendable type 'In3' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | }
14 |
15 | internal func dispatched<In1, In2, In3>(to queue: DispatchQueue, _ function: @escaping (In1, In2, In3) -> ()) -> (In1, In2, In3) -> () {
| `- note: consider making generic parameter 'In3' conform to the 'Sendable' protocol
16 | return { in1, in2, in3 in
17 | queue.async(execute: { function(in1, in2, in3) })
| `- warning: capture of 'in3' with non-sendable type 'In3' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
[6/22] Compiling Shallows Zip.swift
/host/spi-builder-workspace/Sources/Shallows/Zip.swift:57:13: warning: capture of 'self' with non-sendable type 'CompletionContainer<Left, Right>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | }
42 |
43 | fileprivate final class CompletionContainer<Left, Right> {
| `- note: generic class 'CompletionContainer' does not conform to the 'Sendable' protocol
44 |
45 | private var left: Left?
:
55 | fileprivate func completeLeft(with left: Left) {
56 | queue.async {
57 | self.left = left
| `- warning: capture of 'self' with non-sendable type 'CompletionContainer<Left, Right>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.check()
59 | }
/host/spi-builder-workspace/Sources/Shallows/Zip.swift:57:25: warning: capture of 'left' with non-sendable type 'Left' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | }
42 |
43 | fileprivate final class CompletionContainer<Left, Right> {
| `- note: consider making generic parameter 'Left' conform to the 'Sendable' protocol
44 |
45 | private var left: Left?
:
55 | fileprivate func completeLeft(with left: Left) {
56 | queue.async {
57 | self.left = left
| `- warning: capture of 'left' with non-sendable type 'Left' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.check()
59 | }
/host/spi-builder-workspace/Sources/Shallows/Zip.swift:64:13: warning: capture of 'self' with non-sendable type 'CompletionContainer<Left, Right>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | }
42 |
43 | fileprivate final class CompletionContainer<Left, Right> {
| `- note: generic class 'CompletionContainer' does not conform to the 'Sendable' protocol
44 |
45 | private var left: Left?
:
62 | fileprivate func completeRight(with right: Right) {
63 | queue.async {
64 | self.right = right
| `- warning: capture of 'self' with non-sendable type 'CompletionContainer<Left, Right>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
65 | self.check()
66 | }
/host/spi-builder-workspace/Sources/Shallows/Zip.swift:64:26: warning: capture of 'right' with non-sendable type 'Right' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | }
42 |
43 | fileprivate final class CompletionContainer<Left, Right> {
| `- note: consider making generic parameter 'Right' conform to the 'Sendable' protocol
44 |
45 | private var left: Left?
:
62 | fileprivate func completeRight(with right: Right) {
63 | queue.async {
64 | self.right = right
| `- warning: capture of 'right' with non-sendable type 'Right' in a `@Sendable` closure; this is an error in the Swift 6 language mode
65 | self.check()
66 | }
[7/22] Compiling Shallows Filename.swift
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:58:27: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
56 |
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:59:27: warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
| |- warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64URL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:60:27: warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
| |- warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noEncoding' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
62 | return Encoder(encode: encode)
[8/22] Compiling Shallows MemoryStorage.swift
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:58:27: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
56 |
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:59:27: warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
| |- warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64URL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:60:27: warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
| |- warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noEncoding' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
62 | return Encoder(encode: encode)
[9/22] Compiling Shallows Async.swift
/host/spi-builder-workspace/Sources/Shallows/Async.swift:12:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
10 | return try await withCheckedThrowingContinuation({ (continuation) in
11 | self.retrieve(forKey: key) { result in
12 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
13 | }
14 | })
/host/spi-builder-workspace/Sources/Shallows/Async.swift:26:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
24 | return try await withCheckedThrowingContinuation({ (continuation) in
25 | self.retrieve() { result in
26 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
27 | }
28 | })
/host/spi-builder-workspace/Sources/Shallows/Async.swift:77:26: 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
75 | switch result {
76 | case .success(let value):
77 | 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
78 | do {
79 | let newValue = try await transform(value)
80 | completion(.success(newValue))
| `- note: closure captures 'completion' which is accessible to code in the current task
81 | } catch {
82 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:97:18: 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
95 | -> ReadOnlyStorage<OtherKey, Value> {
96 | return ReadOnlyStorage<OtherKey, Value>(storageName: storageName, retrieve: { key, completion in
97 | 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
98 | do {
99 | let newKey = try await transform(key)
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'transform'
100 | self.retrieve(forKey: newKey, completion: completion)
| | `- note: closure captures non-Sendable 'completion'
| `- note: closure captures non-Sendable 'self'
101 | } catch {
102 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:129:18: 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
127 | ) -> WriteOnlyStorage<Key, OtherValue> {
128 | return WriteOnlyStorage<Key, OtherValue>(storageName: storageName, set: { (value, key, completion) in
129 | 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
130 | do {
131 | let newValue = try await transform(value)
| | `- note: closure captures non-Sendable 'value'
| `- note: closure captures non-Sendable 'transform'
132 | self.set(newValue, forKey: key, completion: completion)
| | | `- note: closure captures non-Sendable 'completion'
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'self'
133 | } catch {
134 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:145:18: 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
143 | -> WriteOnlyStorage<OtherKey, Value> {
144 | return WriteOnlyStorage<OtherKey, Value>(storageName: storageName, set: { value, key, completion in
145 | 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
146 | do {
147 | let newKey = try await transform(key)
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'transform'
148 | self.set(value, forKey: newKey, completion: completion)
| | | `- note: closure captures non-Sendable 'completion'
| | `- note: closure captures non-Sendable 'value'
| `- note: closure captures non-Sendable 'self'
149 | } catch {
150 | completion(.failure(error))
[10/22] Compiling Shallows Composition.swift
/host/spi-builder-workspace/Sources/Shallows/Async.swift:12:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
10 | return try await withCheckedThrowingContinuation({ (continuation) in
11 | self.retrieve(forKey: key) { result in
12 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
13 | }
14 | })
/host/spi-builder-workspace/Sources/Shallows/Async.swift:26:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
24 | return try await withCheckedThrowingContinuation({ (continuation) in
25 | self.retrieve() { result in
26 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
27 | }
28 | })
/host/spi-builder-workspace/Sources/Shallows/Async.swift:77:26: 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
75 | switch result {
76 | case .success(let value):
77 | 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
78 | do {
79 | let newValue = try await transform(value)
80 | completion(.success(newValue))
| `- note: closure captures 'completion' which is accessible to code in the current task
81 | } catch {
82 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:97:18: 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
95 | -> ReadOnlyStorage<OtherKey, Value> {
96 | return ReadOnlyStorage<OtherKey, Value>(storageName: storageName, retrieve: { key, completion in
97 | 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
98 | do {
99 | let newKey = try await transform(key)
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'transform'
100 | self.retrieve(forKey: newKey, completion: completion)
| | `- note: closure captures non-Sendable 'completion'
| `- note: closure captures non-Sendable 'self'
101 | } catch {
102 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:129:18: 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
127 | ) -> WriteOnlyStorage<Key, OtherValue> {
128 | return WriteOnlyStorage<Key, OtherValue>(storageName: storageName, set: { (value, key, completion) in
129 | 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
130 | do {
131 | let newValue = try await transform(value)
| | `- note: closure captures non-Sendable 'value'
| `- note: closure captures non-Sendable 'transform'
132 | self.set(newValue, forKey: key, completion: completion)
| | | `- note: closure captures non-Sendable 'completion'
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'self'
133 | } catch {
134 | completion(.failure(error))
/host/spi-builder-workspace/Sources/Shallows/Async.swift:145:18: 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
143 | -> WriteOnlyStorage<OtherKey, Value> {
144 | return WriteOnlyStorage<OtherKey, Value>(storageName: storageName, set: { value, key, completion in
145 | 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
146 | do {
147 | let newKey = try await transform(key)
| | `- note: closure captures non-Sendable 'key'
| `- note: closure captures non-Sendable 'transform'
148 | self.set(value, forKey: newKey, completion: completion)
| | | `- note: closure captures non-Sendable 'completion'
| | `- note: closure captures non-Sendable 'value'
| `- note: closure captures non-Sendable 'self'
149 | } catch {
150 | completion(.failure(error))
[11/22] Compiling Shallows Shallows.swift
/host/spi-builder-workspace/Sources/Shallows/Shallows.swift:83:23: warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
81 | public enum ShallowsLog {
82 |
83 | public static var isEnabled = false
| |- warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isEnabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 |
85 | }
[12/22] Compiling Shallows ShallowsResult.swift
/host/spi-builder-workspace/Sources/Shallows/Shallows.swift:83:23: warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
81 | public enum ShallowsLog {
82 |
83 | public static var isEnabled = false
| |- warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isEnabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 |
85 | }
[13/22] Compiling Shallows NSCacheStorage.swift
/host/spi-builder-workspace/Sources/Shallows/NSCacheStorage.swift:6:14: warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class NSCacheStorage<Key : NSObject, Value : AnyObject> : StorageProtocol {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
4 |
5 | public enum Error : Swift.Error {
6 | case noValue(Key)
| `- warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
7 | }
8 |
[14/22] Compiling Shallows ReadOnlyStorage.swift
/host/spi-builder-workspace/Sources/Shallows/NSCacheStorage.swift:6:14: warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class NSCacheStorage<Key : NSObject, Value : AnyObject> : StorageProtocol {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
4 |
5 | public enum Error : Swift.Error {
6 | case noValue(Key)
| `- warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
7 | }
8 |
[15/22] Compiling Shallows DiskExtensions.swift
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskExtensions.swift:61:31: warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
59 |
60 | public struct DecodingError<T>: Error {
61 | @StringPrinted public var originalData: Data
| `- warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
62 | public var rawError: Error
63 | }
64 |
65 | @propertyWrapper
66 | public struct StringPrinted: CustomStringConvertible {
| `- note: consider making struct 'StringPrinted' conform to the 'Sendable' protocol
67 | public var wrappedValue: Data
68 |
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:162:23: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
87 | }
88 |
89 | public final class DiskStorage : StorageProtocol {
| `- note: class 'DiskStorage' does not conform to the 'Sendable' protocol
90 |
91 | public var storageName: String {
:
160 | extension DiskStorage {
161 |
162 | public static let main = DiskStorage(creatingDirectories: true)
| |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'main' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
163 |
164 | public static func folder(_ folderName: String,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:24:54: warning: 'base64' is deprecated: for any new storages, please use .base64URL
22 | public init(folderURL: URL,
23 | diskStorage: Storage<URL, Data> = DiskStorage.main.asStorage(),
24 | filenameEncoder: Filename.Encoder = .base64) {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
25 | self.diskStorage = diskStorage
26 | self.folderURL = folderURL
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:58:27: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
56 |
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:167:68: warning: 'base64' is deprecated: for any new storages, please use .base64URL
165 | in directory: FileManager.SearchPathDirectory,
166 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
167 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
168 | return DiskStorage.main.folder(folderName, in: directory, domainMask: domainMask, filenameEncoder: filenameEncoder)
169 | }
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:174:61: warning: 'base64' is deprecated: for any new storages, please use .base64URL
172 | in directory: FileManager.SearchPathDirectory,
173 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
174 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
175 | return DiskFolderStorage.inDirectory(
176 | directory,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:108:17: warning: capture of 'completion' with non-sendable type '(ShallowsResult<Data>) -> ()' (aka '(Result<Data, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 | do {
107 | let data = try Data.init(contentsOf: key)
108 | completion(succeed(with: data))
| |- warning: capture of 'completion' with non-sendable type '(ShallowsResult<Data>) -> ()' (aka '(Result<Data, any Error>) -> ()') 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'
109 | } catch {
110 | completion(fail(with: error))
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:123:21: warning: capture of 'self' with non-sendable type 'DiskStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | }
88 |
89 | public final class DiskStorage : StorageProtocol {
| `- note: class 'DiskStorage' does not conform to the 'Sendable' protocol
90 |
91 | public var storageName: String {
:
121 | queue.async {
122 | do {
123 | try self.createDirectoryURLIfNotExisting(for: key)
| `- warning: capture of 'self' with non-sendable type 'DiskStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | let path = key.path
125 | if self.fileManager.createFile(atPath: path,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:128:21: warning: capture of 'completion' with non-sendable type '(ShallowsResult<Void>) -> ()' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 | contents: value,
127 | attributes: nil) {
128 | completion(.success)
| |- warning: capture of 'completion' with non-sendable type '(ShallowsResult<Void>) -> ()' (aka '(Result<(), any Error>) -> ()') 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'
129 | } else {
130 | completion(fail(with: Error.cantCreateFile))
[16/22] Compiling Shallows DiskStorage.swift
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskExtensions.swift:61:31: warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
59 |
60 | public struct DecodingError<T>: Error {
61 | @StringPrinted public var originalData: Data
| `- warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
62 | public var rawError: Error
63 | }
64 |
65 | @propertyWrapper
66 | public struct StringPrinted: CustomStringConvertible {
| `- note: consider making struct 'StringPrinted' conform to the 'Sendable' protocol
67 | public var wrappedValue: Data
68 |
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:162:23: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
87 | }
88 |
89 | public final class DiskStorage : StorageProtocol {
| `- note: class 'DiskStorage' does not conform to the 'Sendable' protocol
90 |
91 | public var storageName: String {
:
160 | extension DiskStorage {
161 |
162 | public static let main = DiskStorage(creatingDirectories: true)
| |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'main' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
163 |
164 | public static func folder(_ folderName: String,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:24:54: warning: 'base64' is deprecated: for any new storages, please use .base64URL
22 | public init(folderURL: URL,
23 | diskStorage: Storage<URL, Data> = DiskStorage.main.asStorage(),
24 | filenameEncoder: Filename.Encoder = .base64) {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
25 | self.diskStorage = diskStorage
26 | self.folderURL = folderURL
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:58:27: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
56 |
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:167:68: warning: 'base64' is deprecated: for any new storages, please use .base64URL
165 | in directory: FileManager.SearchPathDirectory,
166 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
167 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
168 | return DiskStorage.main.folder(folderName, in: directory, domainMask: domainMask, filenameEncoder: filenameEncoder)
169 | }
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:174:61: warning: 'base64' is deprecated: for any new storages, please use .base64URL
172 | in directory: FileManager.SearchPathDirectory,
173 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
174 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
175 | return DiskFolderStorage.inDirectory(
176 | directory,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:108:17: warning: capture of 'completion' with non-sendable type '(ShallowsResult<Data>) -> ()' (aka '(Result<Data, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 | do {
107 | let data = try Data.init(contentsOf: key)
108 | completion(succeed(with: data))
| |- warning: capture of 'completion' with non-sendable type '(ShallowsResult<Data>) -> ()' (aka '(Result<Data, any Error>) -> ()') 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'
109 | } catch {
110 | completion(fail(with: error))
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:123:21: warning: capture of 'self' with non-sendable type 'DiskStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | }
88 |
89 | public final class DiskStorage : StorageProtocol {
| `- note: class 'DiskStorage' does not conform to the 'Sendable' protocol
90 |
91 | public var storageName: String {
:
121 | queue.async {
122 | do {
123 | try self.createDirectoryURLIfNotExisting(for: key)
| `- warning: capture of 'self' with non-sendable type 'DiskStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 | let path = key.path
125 | if self.fileManager.createFile(atPath: path,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:128:21: warning: capture of 'completion' with non-sendable type '(ShallowsResult<Void>) -> ()' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 | contents: value,
127 | attributes: nil) {
128 | completion(.success)
| |- warning: capture of 'completion' with non-sendable type '(ShallowsResult<Void>) -> ()' (aka '(Result<(), any Error>) -> ()') 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'
129 | } else {
130 | completion(fail(with: Error.cantCreateFile))
[17/22] Emitting module Shallows
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskExtensions.swift:61:31: warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
59 |
60 | public struct DecodingError<T>: Error {
61 | @StringPrinted public var originalData: Data
| `- warning: stored property '_originalData' of 'Sendable'-conforming generic struct 'DecodingError' has non-sendable type 'StringPrinted'; this is an error in the Swift 6 language mode
62 | public var rawError: Error
63 | }
64 |
65 | @propertyWrapper
66 | public struct StringPrinted: CustomStringConvertible {
| `- note: consider making struct 'StringPrinted' conform to the 'Sendable' protocol
67 | public var wrappedValue: Data
68 |
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:162:23: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
87 | }
88 |
89 | public final class DiskStorage : StorageProtocol {
| `- note: class 'DiskStorage' does not conform to the 'Sendable' protocol
90 |
91 | public var storageName: String {
:
160 | extension DiskStorage {
161 |
162 | public static let main = DiskStorage(creatingDirectories: true)
| |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'DiskStorage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'main' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
163 |
164 | public static func folder(_ folderName: String,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:24:54: warning: 'base64' is deprecated: for any new storages, please use .base64URL
22 | public init(folderURL: URL,
23 | diskStorage: Storage<URL, Data> = DiskStorage.main.asStorage(),
24 | filenameEncoder: Filename.Encoder = .base64) {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
25 | self.diskStorage = diskStorage
26 | self.folderURL = folderURL
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:58:27: warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
56 |
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
| |- warning: static property 'base64' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:167:68: warning: 'base64' is deprecated: for any new storages, please use .base64URL
165 | in directory: FileManager.SearchPathDirectory,
166 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
167 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
168 | return DiskStorage.main.folder(folderName, in: directory, domainMask: domainMask, filenameEncoder: filenameEncoder)
169 | }
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/DiskStorage.swift:174:61: warning: 'base64' is deprecated: for any new storages, please use .base64URL
172 | in directory: FileManager.SearchPathDirectory,
173 | domainMask: FileManager.SearchPathDomainMask = .userDomainMask,
174 | filenameEncoder: Filename.Encoder = .base64) -> DiskFolderStorage {
| `- warning: 'base64' is deprecated: for any new storages, please use .base64URL
175 | return DiskFolderStorage.inDirectory(
176 | directory,
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:59:27: warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
57 | @available(*, deprecated, message: "for any new storages, please use .base64URL")
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
| |- warning: static property 'base64URL' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'base64URL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
/host/spi-builder-workspace/Sources/Shallows/DiskStorage/Filename.swift:60:27: warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public struct Encoder {
| `- note: consider making struct 'Encoder' conform to the 'Sendable' protocol
50 |
51 | private let encode: (Filename) -> String
:
58 | public static let base64: Encoder = Encoder(encode: { $0.base64Encoded() })
59 | public static let base64URL: Encoder = Encoder(encode: { $0.base64URLEncoded() })
60 | public static let noEncoding: Encoder = Encoder(encode: { $0.rawValue })
| |- warning: static property 'noEncoding' is not concurrency-safe because non-'Sendable' type 'Filename.Encoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'noEncoding' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static func custom(_ encode: @escaping (Filename) -> String) -> Encoder {
62 | return Encoder(encode: encode)
/host/spi-builder-workspace/Sources/Shallows/NSCacheStorage.swift:6:14: warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public final class NSCacheStorage<Key : NSObject, Value : AnyObject> : StorageProtocol {
| `- note: consider making generic parameter 'Key' conform to the 'Sendable' protocol
4 |
5 | public enum Error : Swift.Error {
6 | case noValue(Key)
| `- warning: associated value 'noValue' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Key'; this is an error in the Swift 6 language mode
7 | }
8 |
/host/spi-builder-workspace/Sources/Shallows/Shallows.swift:83:23: warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
81 | public enum ShallowsLog {
82 |
83 | public static var isEnabled = false
| |- warning: static property 'isEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isEnabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 |
85 | }
[18/23] Wrapping AST for Shallows for debugging
[19/23] Write Objects.LinkFileList
[21/23] Archiving libShallowsStatic.a
[22/23] Linking libShallowsDynamic.so
Build complete! (12.65s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Shallows",
"name" : "Shallows",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Shallows",
"targets" : [
"Shallows"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ShallowsStatic",
"targets" : [
"Shallows"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "ShallowsDynamic",
"targets" : [
"Shallows"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "ShallowsTests",
"module_type" : "SwiftTarget",
"name" : "ShallowsTests",
"path" : "Tests/ShallowsTests",
"sources" : [
"AdditionalSpec.swift",
"CompositionSpec.swift",
"DiskStorageSpec.swift",
"MemoryStorageSpec.swift",
"ResultSpec.swift",
"Spectre/Case.swift",
"Spectre/Context.swift",
"Spectre/Expectation.swift",
"Spectre/Failure.swift",
"Spectre/Global.swift",
"Spectre/GlobalContext.swift",
"Spectre/Reporter.swift",
"Spectre/Reporters.swift",
"TestExtensions.swift",
"XCTest.swift",
"ZipSpec.swift"
],
"target_dependencies" : [
"Shallows"
],
"type" : "test"
},
{
"c99name" : "Shallows",
"module_type" : "SwiftTarget",
"name" : "Shallows",
"path" : "Sources/Shallows",
"product_memberships" : [
"Shallows",
"ShallowsStatic",
"ShallowsDynamic"
],
"sources" : [
"Async.swift",
"Composition.swift",
"DiskStorage/DiskExtensions.swift",
"DiskStorage/DiskStorage.swift",
"DiskStorage/Filename.swift",
"MemoryStorage.swift",
"NSCacheStorage.swift",
"ReadOnlyStorage.swift",
"Shallows.swift",
"ShallowsResult.swift",
"Storage.swift",
"SyncStorage.swift",
"WriteOnlyStorage.swift",
"Zip.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.