Build Information
Successful build of VanMoofKit, reference 0.0.7 (d258b2
), with Swift 6.0 for macOS (SPM) on 1 Dec 2024 13:32:24 UTC.
Swift 6 data race errors: 7
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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
Build Log
354 | // Check if an error is available
355 | // which is not instance of `CBATTError.unlikelyError`
CoreBluetooth.CBCharacteristic:2:12: note: class 'CBCharacteristic' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBCharacteristic : CBAttribute {
| `- note: class 'CBCharacteristic' does not conform to the 'Sendable' protocol
3 | weak open var service: CBService? { get }
4 | open var properties: CBCharacteristicProperties { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
1 | import Combine
2 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:442:36: warning: capture of 'self' with non-sendable type 'VanMoof.Bike.BluetoothManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
440 | try await self.withTimeout(seconds: timeoutInterval) {
441 | // For each bluetooth event
442 | for try await event in self.values {
| `- warning: capture of 'self' with non-sendable type 'VanMoof.Bike.BluetoothManager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
443 | // Check central state
444 | try self.central.checkState()
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager.swift:10:17: note: class 'BluetoothManager' does not conform to the 'Sendable' protocol
8 |
9 | /// A VanMoof Bike BluetoothManager.
10 | final class BluetoothManager: NSObject {
| `- note: class 'BluetoothManager' does not conform to the 'Sendable' protocol
11 |
12 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:451:67: warning: capture of 'coreBluetoothCharacteristic' with non-sendable type 'CBCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
449 | let updatedCoreBluetoothCharacterstic,
450 | let error
451 | ) where updatedCoreBluetoothCharacterstic.uuid == coreBluetoothCharacteristic.uuid:
| `- warning: capture of 'coreBluetoothCharacteristic' with non-sendable type 'CBCharacteristic' in a `@Sendable` closure; this is an error in the Swift 6 language mode
452 | // Check if an error is available
453 | if let error = error {
CoreBluetooth.CBCharacteristic:2:12: note: class 'CBCharacteristic' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class CBCharacteristic : CBAttribute {
| `- note: class 'CBCharacteristic' does not conform to the 'Sendable' protocol
3 | weak open var service: CBService? { get }
4 | open var properties: CBCharacteristicProperties { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:567:19: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
561 | /// - Throws: Throws `VanMoof.Bike.Error` if the timeout expires before `operation` completes.
562 | /// If `operation` throws an error before the timeout expires, that error is propagated to the caller.
563 | func withTimeout<R>(
| `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
564 | seconds: TimeInterval,
565 | operation: @escaping @Sendable () async throws -> R
566 | ) async throws -> R {
567 | try await withThrowingTaskGroup(of: R.self) { group in
| `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
568 | // Initialize deadline
569 | let deadline = Date(timeIntervalSinceNow: seconds)
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:571:19: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
561 | /// - Throws: Throws `VanMoof.Bike.Error` if the timeout expires before `operation` completes.
562 | /// If `operation` throws an error before the timeout expires, that error is propagated to the caller.
563 | func withTimeout<R>(
| `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
564 | seconds: TimeInterval,
565 | operation: @escaping @Sendable () async throws -> R
:
569 | let deadline = Date(timeIntervalSinceNow: seconds)
570 | // Add operation Task
571 | group.addTask {
| `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
572 | // Execute operation
573 | return try await operation()
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:576:19: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
561 | /// - Throws: Throws `VanMoof.Bike.Error` if the timeout expires before `operation` completes.
562 | /// If `operation` throws an error before the timeout expires, that error is propagated to the caller.
563 | func withTimeout<R>(
| `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
564 | seconds: TimeInterval,
565 | operation: @escaping @Sendable () async throws -> R
:
574 | }
575 | // Add timeout Task
576 | group.addTask {
| `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
577 | // Initialize interval
578 | let interval = deadline.timeIntervalSinceNow
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:592:42: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
561 | /// - Throws: Throws `VanMoof.Bike.Error` if the timeout expires before `operation` completes.
562 | /// If `operation` throws an error before the timeout expires, that error is propagated to the caller.
563 | func withTimeout<R>(
| `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
564 | seconds: TimeInterval,
565 | operation: @escaping @Sendable () async throws -> R
:
590 | }
591 | // Await first result
592 | let result = try await group.next()
| `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
593 | // Cancel all other tasks
594 | group.cancelAll()
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:594:19: warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
561 | /// - Throws: Throws `VanMoof.Bike.Error` if the timeout expires before `operation` completes.
562 | /// If `operation` throws an error before the timeout expires, that error is propagated to the caller.
563 | func withTimeout<R>(
| `- note: consider making generic parameter 'R' conform to the 'Sendable' protocol
564 | seconds: TimeInterval,
565 | operation: @escaping @Sendable () async throws -> R
:
592 | let result = try await group.next()
593 | // Cancel all other tasks
594 | group.cancelAll()
| `- warning: type 'R' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
595 | // Verify result is available
596 | guard let result = result else {
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/API/VanMoof+Bike+SignalStrength.swift:120:22: 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
118 | return
119 | }
120 | 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
121 | guard let signalStrength = try? await self.signalStrength else {
| `- note: closure captures non-Sendable 'self'
122 | return
123 | }
124 | promise(.success(signalStrength))
| `- note: closure captures non-Sendable 'promise'
125 | }
126 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift:464:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
460 | DispatchQueue.main.asyncAfter(
461 | deadline: .now() + 1
462 | ) { [weak self] in
| `- note: access can happen concurrently
463 | // Read value
464 | try? self?.connectedPeripheral
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
465 | .readValue(
466 | for: updatedCoreBluetoothCharacterstic
[105/117] Compiling VanMoofKit VanMoof+Bike.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[106/117] Compiling VanMoofKit InMemoryVanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[107/117] Compiling VanMoofKit KeychainVanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[108/117] Compiling VanMoofKit LARightVanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[109/117] Compiling VanMoofKit NSUbiquitousVanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[110/117] Compiling VanMoofKit ObservableObjectVanMoofTokenMediator.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[111/117] Compiling VanMoofKit UserDefaultsVanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[112/117] Compiling VanMoofKit VanMoofTokenStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[113/117] Compiling VanMoofKit VanMoof+User.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[114/117] Compiling VanMoofKit VanMoof.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/Configuration/VanMoof+Bike+Configuration.swift:27:16: warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | /// Bool value whether auto reconnecting is enabled or disabled
26 | /// whenever the connection timed out. Default value `true`
27 | static var isAutoReconnectEnabled = true
| |- warning: static property 'isAutoReconnectEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isAutoReconnectEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isAutoReconnectEnabled' 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
28 |
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:11:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An InMemory based VanMoofTokenStore
6 | public final class InMemoryVanMoofTokenStore: ObservableObject {
| `- note: class 'InMemoryVanMoofTokenStore' does not conform to the 'Sendable' protocol
7 |
8 | // MARK: Static-Properties
9 |
10 | /// The shared `InMemoryVanMoofTokenStore` instance
11 | public static let shared = InMemoryVanMoofTokenStore()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'InMemoryVanMoofTokenStore' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
12 |
13 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Authentication/VanMoof+Token+Key.swift:8:16: warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// The key name.
8 | static var key = "VanMoof.Token"
| |- warning: static property 'key' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'key' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'key' 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
9 |
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:54: warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| `- warning: type 'LAPersistedRight' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 | return authorizedRight
78 | }
LocalAuthentication.LAPersistedRight:2:12: note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
1 | @available(macOS 13.0, *)
2 | open class LAPersistedRight : LARight {
| `- note: class 'LAPersistedRight' does not conform to the 'Sendable' protocol
3 | open var key: LAPrivateKey { get }
4 | open var secret: LASecret { get }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
1 | #if os(iOS) || os(macOS)
2 | import Foundation
3 | import LocalAuthentication
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'LocalAuthentication'
4 |
5 | // MARK: - LARightVanMoofTokenStore
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:12:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// The default `VanMoof` instance
12 | public static var `default` = VanMoof()
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'default' 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
13 |
14 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/Bike/VanMoof+Bike.swift:64: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
62 | }
63 | // Reconnect
64 | 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
65 | try await self.connect()
| `- note: closure captures 'self' which is accessible to code in the current task
66 | }
67 | default:
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:38:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
36 | public func token() async throws -> VanMoof.Token? {
37 | await MainActor.run {
38 | self.token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
39 | }
40 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:46:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
44 | public func save(token: VanMoof.Token) async throws {
45 | await MainActor.run {
46 | self.token = token
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/InMemoryVanMoofTokenStore.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
51 | public func removeToken() async throws {
52 | await MainActor.run {
53 | self.token = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 | }
55 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:183:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
181 | await MainActor.run {
182 | // Send object will change
183 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
184 | }
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/KeychainVanMoofTokenStore.swift:203:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | // Send object will change
203 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
204 | }
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:76:66: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | public func token() async throws -> VanMoof.Token? {
75 | guard let authorizedRight: LAPersistedRight = try await {
76 | if let authorizedRight = await MainActor.run(body: { self.authorizedRight }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | return authorizedRight
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:86:40: warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
84 | )
85 | await MainActor.run {
86 | self.authorizedRight = right
| |- warning: sending 'right' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'right' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
87 | }
88 | return right
| `- note: access can happen concurrently
89 | }() else {
90 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:108:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
106 | )
107 | _ = await MainActor.run {
108 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/LARightVanMoofTokenStore.swift:118:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
116 | )
117 | _ = await MainActor.run {
118 | self.authorizedRight = nil
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
119 | }
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:76:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | )
75 | await MainActor.run {
76 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/NSUbiquitousVanMoofTokenStore.swift:84:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | self.keyValueStore.removeObject(forKey: self.key)
83 | await MainActor.run {
84 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/ObservableObjectVanMoofTokenMediator.swift:81:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
79 | await MainActor.run {
80 | // Send changes
81 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
82 | }
83 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
62 | )
63 | await MainActor.run {
64 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 | }
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/TokenStore/UserDefaultsVanMoofTokenStore.swift:72:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
70 | self.userDefaults.removeObject(forKey: self.key)
71 | await MainActor.run {
72 | self.objectWillChange.send()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
73 | }
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofKit/VanMoof.swift:85: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
83 | .flatMap {
84 | Future { promise in
85 | Task { [weak self] in
| `- 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
86 | guard let self = self else {
| `- note: closure captures non-Sendable 'self'
87 | return promise(.success(nil))
| `- note: closure captures non-Sendable 'promise'
88 | }
89 | promise(.success(await self.authenticationState))
[115/119] Emitting module VanMoofCLI
[116/119] Compiling VanMoofCLI VanMoofCLI.swift
/Users/admin/builder/spi-builder-workspace/Sources/VanMoofCLI/VanMoofCLI.swift:36:22: warning: sending 'cli' risks causing data races; this is an error in the Swift 6 language mode
34 | }
35 | // Execute CLI
36 | try await cli()
| |- warning: sending 'cli' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'cli' to nonisolated instance method 'callAsFunction()' risks causing data races between nonisolated and main actor-isolated uses
37 | }
38 |
[116/119] Write Objects.LinkFileList
[117/119] Linking vanmoof
[118/119] Applying vanmoof
Build complete! (14.35s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "VanMoofKit",
"name" : "VanMoofKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "VanMoofKit",
"targets" : [
"VanMoofKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "vanmoof",
"targets" : [
"VanMoofCLI"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "VanMoofKitTests",
"module_type" : "SwiftTarget",
"name" : "VanMoofKitTests",
"path" : "Tests/VanMoofKitTests",
"sources" : [
"VanMoofTests.swift"
],
"target_dependencies" : [
"VanMoofKit"
],
"type" : "test"
},
{
"c99name" : "VanMoofKit",
"module_type" : "SwiftTarget",
"name" : "VanMoofKit",
"path" : "Sources/VanMoofKit",
"product_memberships" : [
"VanMoofKit",
"vanmoof"
],
"sources" : [
"Authentication/VanMoof+AuthenticationState.swift",
"Authentication/VanMoof+Credentials.swift",
"Authentication/VanMoof+Token+Key.swift",
"Authentication/VanMoof+Token+MissingError.swift",
"Authentication/VanMoof+Token.swift",
"Bike/API/VanMoof+Bike+AlarmMode.swift",
"Bike/API/VanMoof+Bike+AlarmState.swift",
"Bike/API/VanMoof+Bike+BatteryLevel.swift",
"Bike/API/VanMoof+Bike+BatteryState.swift",
"Bike/API/VanMoof+Bike+BellSound.swift",
"Bike/API/VanMoof+Bike+ClockDate.swift",
"Bike/API/VanMoof+Bike+CommunicationError.swift",
"Bike/API/VanMoof+Bike+Connect.swift",
"Bike/API/VanMoof+Bike+ConnectionState.swift",
"Bike/API/VanMoof+Bike+Disconnect.swift",
"Bike/API/VanMoof+Bike+ErrorCode.swift",
"Bike/API/VanMoof+Bike+Execute.swift",
"Bike/API/VanMoof+Bike+FirmwareVersions.swift",
"Bike/API/VanMoof+Bike+LightMode.swift",
"Bike/API/VanMoof+Bike+LockState.swift",
"Bike/API/VanMoof+Bike+ModuleState.swift",
"Bike/API/VanMoof+Bike+PlaySound.swift",
"Bike/API/VanMoof+Bike+PowerLevel.swift",
"Bike/API/VanMoof+Bike+SignalStrength.swift",
"Bike/API/VanMoof+Bike+SoundVolume.swift",
"Bike/API/VanMoof+Bike+Speed.swift",
"Bike/API/VanMoof+Bike+SpeedLimit.swift",
"Bike/API/VanMoof+Bike+TotalDistance.swift",
"Bike/API/VanMoof+Bike+UnitSystem.swift",
"Bike/Bluetooth/Crypto/VanMoof+Bike+BluetoothCrypto.swift",
"Bike/Bluetooth/Data/VanMoof+Bike+BluetoothData.swift",
"Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+API.swift",
"Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+CBCentralManagerDelegate.swift",
"Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+CBPeripheralDelegate.swift",
"Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager+Event.swift",
"Bike/Bluetooth/Manager/VanMoof+Bike+BluetoothManager.swift",
"Bike/Bluetooth/Services/Defence/VanMoof+Bike+BluetoothServices+Defence+AlarmModeCharacteristic.swift",
"Bike/Bluetooth/Services/Defence/VanMoof+Bike+BluetoothServices+Defence+AlarmStateCharacteristic.swift",
"Bike/Bluetooth/Services/Defence/VanMoof+Bike+BluetoothServices+Defence+LockStateCharacteristic.swift",
"Bike/Bluetooth/Services/Defence/VanMoof+Bike+BluetoothServices+Defence+UnlockRequestCharacteristic.swift",
"Bike/Bluetooth/Services/Defence/VanMoof+Bike+BluetoothServices+Defence.swift",
"Bike/Bluetooth/Services/Firmware/VanMoof+Bike+BluetoothServices+Firmware+BlockCharacteristic.swift",
"Bike/Bluetooth/Services/Firmware/VanMoof+Bike+BluetoothServices+Firmware+MetadataCharacteristic.swift",
"Bike/Bluetooth/Services/Firmware/VanMoof+Bike+BluetoothServices+Firmware.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+BLEChipFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+BatteryFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+BikeFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+ControllerFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+EShifterFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+GSMFirmwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+ModuleBatteryLevelCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+ModuleBatteryStateCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+MotorBatteryLevelCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+MotorBatteryStateCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info+PCBAHardwareVersionCharacteristic.swift",
"Bike/Bluetooth/Services/Info/VanMoof+Bike+BluetoothServices+Info.swift",
"Bike/Bluetooth/Services/Light/VanMoof+Bike+BluetoothServices+Light+ModeCharacteristic.swift",
"Bike/Bluetooth/Services/Light/VanMoof+Bike+BluetoothServices+Light.swift",
"Bike/Bluetooth/Services/Maintenance/VanMoof+Bike+BluetoothServices+Maintenance+LogBlockCharacteristic.swift",
"Bike/Bluetooth/Services/Maintenance/VanMoof+Bike+BluetoothServices+Maintenance+LogModeCharacteristic.swift",
"Bike/Bluetooth/Services/Maintenance/VanMoof+Bike+BluetoothServices+Maintenance+LogSizeCharacteristic.swift",
"Bike/Bluetooth/Services/Maintenance/VanMoof+Bike+BluetoothServices+Maintenance.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+DistanceCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+EShifterGearCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+EShifterModeCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+EShiftingPointsCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+PowerLevelCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+SpeedCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+SpeedLimitCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement+UnitSystemCharacteristic.swift",
"Bike/Bluetooth/Services/Movement/VanMoof+Bike+BluetoothServices+Movement.swift",
"Bike/Bluetooth/Services/Security/VanMoof+Bike+BluetoothServices+Security+BackupCodeCharacteristic.swift",
"Bike/Bluetooth/Services/Security/VanMoof+Bike+BluetoothServices+Security+BikeMessageCharacteristic.swift",
"Bike/Bluetooth/Services/Security/VanMoof+Bike+BluetoothServices+Security+ChallengeCharacteristic.swift",
"Bike/Bluetooth/Services/Security/VanMoof+Bike+BluetoothServices+Security+KeyIndexCharacteristic.swift",
"Bike/Bluetooth/Services/Security/VanMoof+Bike+BluetoothServices+Security.swift",
"Bike/Bluetooth/Services/Sound/VanMoof+Bike+BluetoothServices+Sound+BellSoundCharacteristic.swift",
"Bike/Bluetooth/Services/Sound/VanMoof+Bike+BluetoothServices+Sound+PlaySoundCharacteristic.swift",
"Bike/Bluetooth/Services/Sound/VanMoof+Bike+BluetoothServices+Sound+SoundVolumeCharacteristic.swift",
"Bike/Bluetooth/Services/Sound/VanMoof+Bike+BluetoothServices+Sound.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State+ClockCharacteristic.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State+ErrorsCharacteristic.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State+ModuleModeCharacteristic.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State+ModuleStateCharacteristic.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State+WheelSizeCharacteristic.swift",
"Bike/Bluetooth/Services/State/VanMoof+Bike+BluetoothServices+State.swift",
"Bike/Bluetooth/Services/VanMoof+Bike+BluetoothServices.swift",
"Bike/Bluetooth/Services/VanMoofBikeBluetoothCharacteristic.swift",
"Bike/Bluetooth/Services/VanMoofBikeBluetoothService.swift",
"Bike/Configuration/VanMoof+Bike+Configuration.swift",
"Bike/Details/VanMoof+Bike+Details+CustomerRole.swift",
"Bike/Details/VanMoof+Bike+Details+Key.swift",
"Bike/Details/VanMoof+Bike+Details+Links.swift",
"Bike/Details/VanMoof+Bike+Details+ModelColor.swift",
"Bike/Details/VanMoof+Bike+Details+ModelDetails.swift",
"Bike/Details/VanMoof+Bike+Details+Permission.swift",
"Bike/Details/VanMoof+Bike+Details.swift",
"Bike/Error/VanMoof+Bike+Error.swift",
"Bike/Log/VanMoof+Bike+Log.swift",
"Bike/VanMoof+Bike.swift",
"TokenStore/InMemoryVanMoofTokenStore.swift",
"TokenStore/KeychainVanMoofTokenStore.swift",
"TokenStore/LARightVanMoofTokenStore.swift",
"TokenStore/NSUbiquitousVanMoofTokenStore.swift",
"TokenStore/ObservableObjectVanMoofTokenMediator.swift",
"TokenStore/UserDefaultsVanMoofTokenStore.swift",
"TokenStore/VanMoofTokenStore.swift",
"User/VanMoof+User.swift",
"VanMoof.swift"
],
"type" : "library"
},
{
"c99name" : "VanMoofCLI",
"module_type" : "SwiftTarget",
"name" : "VanMoofCLI",
"path" : "Sources/VanMoofCLI",
"product_memberships" : [
"vanmoof"
],
"sources" : [
"VanMoofCLI.swift"
],
"target_dependencies" : [
"VanMoofKit"
],
"type" : "executable"
}
],
"tools_version" : "5.9"
}
Done.