The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of WealthsimpleDownloader, reference v2.0.2 (af3e30), with Swift 6.0 for Linux on 1 Dec 2024 09:17:07 UTC.

Swift 6 data race errors: 19

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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/Nef10/WealthsimpleDownloader.git
Reference: v2.0.2
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/Nef10/WealthsimpleDownloader
 * tag               v2.0.2     -> FETCH_HEAD
HEAD is now at af3e30a Add online bill payment type
Cloned https://github.com/Nef10/WealthsimpleDownloader.git
Revision (git rev-parse @):
af3e30a235d0311de7b37536095f8cf6470abd51
SUCCESS checkout https://github.com/Nef10/WealthsimpleDownloader.git at v2.0.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/Nef10/WealthsimpleDownloader.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/10] Compiling Wealthsimple TransactionError.swift
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:19:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
17 |     case invalidJson(error: String)
18 |     /// When the received JSON does not have the right type
19 |     case invalidJsonType(json: Any)
   |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
20 |     /// When the received JSON does not have all expected values
21 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:21:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
19 |     case invalidJsonType(json: Any)
20 |     /// When the received JSON does not have all expected values
21 |     case missingResultParamenter(json: [String: Any])
   |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
22 |     /// When the received JSON does have an unexpected value
23 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:23:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
21 |     case missingResultParamenter(json: [String: Any])
22 |     /// When the received JSON does have an unexpected value
23 |     case invalidResultParamenter(json: [String: Any])
   |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
24 |     /// An error with the token occured
25 |     case tokenError(_ error: TokenError)
[4/11] Emitting module Wealthsimple
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:20:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 18 |     case invalidJson(error: String)
 19 |     /// When the received JSON does not have the right type
 20 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 21 |     /// When the paramters could not be converted to JSON
 22 |     case invalidParameters(parameters: [String: String])
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidParameters(parameters: [String: String])
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When an HTTP error occurs
 26 |     case httpError(error: String)
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:37:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 35 |     private static let credentialStorageKeyExpiry = "expiry"
 36 |
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
    |                        |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'url' 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
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:38:24: warning: static property 'testUrl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
    |                        |- warning: static property 'testUrl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'testUrl' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'testUrl' 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
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:39:24: warning: static property 'clientId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
    |                        |- warning: static property 'clientId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'clientId' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'clientId' 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
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
 41 |
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:40:24: warning: static property 'scope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
    |                        |- warning: static property 'scope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'scope' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'scope' 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
 41 |
 42 |     private let accessToken: String
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:19:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
17 |     case invalidJson(error: String)
18 |     /// When the received JSON does not have the right type
19 |     case invalidJsonType(json: Any)
   |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
20 |     /// When the received JSON does not have all expected values
21 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:21:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
19 |     case invalidJsonType(json: Any)
20 |     /// When the received JSON does not have all expected values
21 |     case missingResultParamenter(json: [String: Any])
   |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
22 |     /// When the received JSON does have an unexpected value
23 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/TransactionError.swift:23:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
21 |     case missingResultParamenter(json: [String: Any])
22 |     /// When the received JSON does have an unexpected value
23 |     case invalidResultParamenter(json: [String: Any])
   |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'TransactionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
24 |     /// An error with the token occured
25 |     case tokenError(_ error: TokenError)
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:22:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 20 |     case invalidJson(error: String)
 21 |     /// When the received JSON does not have the right type
 22 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidJsonType(json: Any)
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:26:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 24 |     case missingResultParamenter(json: [String: Any])
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
    |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 27 |     /// An error with the token occured
 28 |     case tokenError(_ error: TokenError)
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAsset.swift:13:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
11 | public enum AssetError: Error {
12 |     /// When the received JSON does not have all expected values
13 |     case missingResultParamenter(json: [String: Any])
   |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
14 |     /// When the received JSON does have an unexpected value
15 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAsset.swift:15:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
13 |     case missingResultParamenter(json: [String: Any])
14 |     /// When the received JSON does have an unexpected value
15 |     case invalidResultParamenter(json: [String: Any])
   |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
16 | }
17 |
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:22:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 20 |     case invalidJson(error: String)
 21 |     /// When the received JSON does not have the right type
 22 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidJsonType(json: Any)
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:26:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 24 |     case missingResultParamenter(json: [String: Any])
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
    |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 27 |     /// An error with the assets occured
 28 |     case assetError(_ error: AssetError)
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:53:24: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 51 |     private static let baseUrl = URLComponents(string: "https://api.production.wealthsimple.com/v1/positions")!
 52 |
 53 |     private static var dateFormatter: DateFormatter = {
    |                        |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'dateFormatter' 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
 54 |         var dateFormatter = DateFormatter()
 55 |         dateFormatter.dateFormat = "yyyy-MM-dd"
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleTransaction.swift:119:24: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
117 |     private static let baseUrl = URLComponents(string: "https://api.production.wealthsimple.com/v1/transactions")!
118 |
119 |     private static var dateFormatter: DateFormatter = {
    |                        |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'dateFormatter' 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
120 |         var dateFormatter = DateFormatter()
121 |         dateFormatter.dateFormat = "yyyy-MM-dd"
[5/11] Compiling Wealthsimple String+CamelCase.swift
[6/11] Compiling Wealthsimple Token.swift
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:20:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 18 |     case invalidJson(error: String)
 19 |     /// When the received JSON does not have the right type
 20 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 21 |     /// When the paramters could not be converted to JSON
 22 |     case invalidParameters(parameters: [String: String])
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidParameters(parameters: [String: String])
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'TokenError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When an HTTP error occurs
 26 |     case httpError(error: String)
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:37:24: warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 35 |     private static let credentialStorageKeyExpiry = "expiry"
 36 |
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
    |                        |- warning: static property 'url' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'url' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'url' 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
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:38:24: warning: static property 'testUrl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 36 |
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
    |                        |- warning: static property 'testUrl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'testUrl' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'testUrl' 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
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:39:24: warning: static property 'clientId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |     private static var url = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token")!
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
    |                        |- warning: static property 'clientId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'clientId' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'clientId' 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
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
 41 |
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:40:24: warning: static property 'scope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 38 |     private static var testUrl = URL(string: "https://api.production.wealthsimple.com/v1/oauth/token/info")!
 39 |     private static var clientId = "4da53ac2b03225bed1550eba8e4611e086c7b905a3855e6ed12ea08c246758fa" // From the website
 40 |     private static var scope = "invest.read mfda.read mercer.read trade.read" // the clientId supports some write scopes, but as this library only reads we limit it for safety
    |                        |- warning: static property 'scope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'scope' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'scope' 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
 41 |
 42 |     private let accessToken: String
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:121:98: warning: capture of 'credentialStorage' with non-sendable type 'any CredentialStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |         }
120 |         let task = session.uploadTask(with: request, from: jsonData) { data, response, error in
121 |             handleTokenResponse(data: data, response: response, error: error, credentialStorage: credentialStorage, completion: completion)
    |                                                                                                  `- warning: capture of 'credentialStorage' with non-sendable type 'any CredentialStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |         }
123 |         task.resume()
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleDownloader.swift:13:17: note: protocol 'CredentialStorage' does not conform to the 'Sendable' protocol
 11 | ///
 12 | /// Can for example be implemented using Keychain on Apple devices
 13 | public protocol CredentialStorage {
    |                 `- note: protocol 'CredentialStorage' does not conform to the 'Sendable' protocol
 14 |
 15 |     /// Save a value to the store
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:121:129: warning: capture of 'completion' with non-sendable type '(Result<Token, TokenError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |         }
120 |         let task = session.uploadTask(with: request, from: jsonData) { data, response, error in
121 |             handleTokenResponse(data: data, response: response, error: error, credentialStorage: credentialStorage, completion: completion)
    |                                                                                                                                 |- warning: capture of 'completion' with non-sendable type '(Result<Token, TokenError>) -> 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'
122 |         }
123 |         task.resume()
/host/spi-builder-workspace/Sources/Wealthsimple/Token.swift:180:25: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 |                 let task = session.dataTask(with: request) { _, response, error in
179 |                     guard error == nil else {
180 |                         completion(false)
    |                         |- warning: capture of 'completion' with non-sendable type '(Bool) -> 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'
181 |                         return
182 |                     }
[7/11] Compiling Wealthsimple WealthsimpleDownloader.swift
[8/11] Compiling Wealthsimple WealthsimpleAsset.swift
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAsset.swift:13:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
11 | public enum AssetError: Error {
12 |     /// When the received JSON does not have all expected values
13 |     case missingResultParamenter(json: [String: Any])
   |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
14 |     /// When the received JSON does have an unexpected value
15 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAsset.swift:15:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
13 |     case missingResultParamenter(json: [String: Any])
14 |     /// When the received JSON does have an unexpected value
15 |     case invalidResultParamenter(json: [String: Any])
   |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AssetError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
16 | }
17 |
[9/11] Compiling Wealthsimple WealthsimplePosition.swift
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:22:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 20 |     case invalidJson(error: String)
 21 |     /// When the received JSON does not have the right type
 22 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidJsonType(json: Any)
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:26:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 24 |     case missingResultParamenter(json: [String: Any])
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
    |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'PositionError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 27 |     /// An error with the assets occured
 28 |     case assetError(_ error: AssetError)
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:53:24: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 51 |     private static let baseUrl = URLComponents(string: "https://api.production.wealthsimple.com/v1/positions")!
 52 |
 53 |     private static var dateFormatter: DateFormatter = {
    |                        |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'dateFormatter' 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
 54 |         var dateFormatter = DateFormatter()
 55 |         dateFormatter.dateFormat = "yyyy-MM-dd"
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimplePosition.swift:112:94: warning: capture of 'completion' with non-sendable type '(Result<[any Position], PositionError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 |             case let .success(request):
111 |                 let task = session.dataTask(with: request) { data, response, error in
112 |                     handleResponse(data: data, response: response, error: error, completion: completion)
    |                                                                                              |- warning: capture of 'completion' with non-sendable type '(Result<[any Position], PositionError>) -> 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'
113 |                 }
114 |                 task.resume()
[10/11] Compiling Wealthsimple WealthsimpleAccount.swift
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:22:10: warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 20 |     case invalidJson(error: String)
 21 |     /// When the received JSON does not have the right type
 22 |     case invalidJsonType(json: Any)
    |          `- warning: associated value 'invalidJsonType(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:24:10: warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 22 |     case invalidJsonType(json: Any)
 23 |     /// When the received JSON does not have all expected values
 24 |     case missingResultParamenter(json: [String: Any])
    |          `- warning: associated value 'missingResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:26:10: warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 24 |     case missingResultParamenter(json: [String: Any])
 25 |     /// When the received JSON does have an unexpected value
 26 |     case invalidResultParamenter(json: [String: Any])
    |          `- warning: associated value 'invalidResultParamenter(json:)' of 'Sendable'-conforming enum 'AccountError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
 27 |     /// An error with the token occured
 28 |     case tokenError(_ error: TokenError)
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleAccount.swift:107:94: warning: capture of 'completion' with non-sendable type '(Result<[any Account], AccountError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
105 |             case let .success(request):
106 |                 let task = session.dataTask(with: request) { data, response, error in
107 |                     handleResponse(data: data, response: response, error: error, completion: completion)
    |                                                                                              |- warning: capture of 'completion' with non-sendable type '(Result<[any Account], AccountError>) -> 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'
108 |                 }
109 |                 task.resume()
[11/11] Compiling Wealthsimple WealthsimpleTransaction.swift
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleTransaction.swift:119:24: warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
117 |     private static let baseUrl = URLComponents(string: "https://api.production.wealthsimple.com/v1/transactions")!
118 |
119 |     private static var dateFormatter: DateFormatter = {
    |                        |- warning: static property 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'dateFormatter' 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
120 |         var dateFormatter = DateFormatter()
121 |         dateFormatter.dateFormat = "yyyy-MM-dd"
/host/spi-builder-workspace/Sources/Wealthsimple/WealthsimpleTransaction.swift:208:94: warning: capture of 'completion' with non-sendable type '(Result<[any Transaction], TransactionError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
206 |             case let .success(request):
207 |                 let task = session.dataTask(with: request) { data, response, error in
208 |                     handleResponse(data: data, response: response, error: error, completion: completion)
    |                                                                                              |- warning: capture of 'completion' with non-sendable type '(Result<[any Transaction], TransactionError>) -> 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'
209 |                 }
210 |                 task.resume()
Build complete! (18.52s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WealthsimpleDownloader",
  "name" : "WealthsimpleDownloader",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Wealthsimple",
      "targets" : [
        "Wealthsimple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WealthsimpleTests",
      "module_type" : "SwiftTarget",
      "name" : "WealthsimpleTests",
      "path" : "Tests/WealthsimpleTests",
      "sources" : [
        "Extensions/StringCamelCaseTests.swift",
        "WealthsimpleDownloaderTests.swift"
      ],
      "target_dependencies" : [
        "Wealthsimple"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Wealthsimple",
      "module_type" : "SwiftTarget",
      "name" : "Wealthsimple",
      "path" : "Sources/Wealthsimple",
      "product_memberships" : [
        "Wealthsimple"
      ],
      "sources" : [
        "Extensions/String+CamelCase.swift",
        "Token.swift",
        "TransactionError.swift",
        "WealthsimpleAccount.swift",
        "WealthsimpleAsset.swift",
        "WealthsimpleDownloader.swift",
        "WealthsimplePosition.swift",
        "WealthsimpleTransaction.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
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.