Build Information
Successful build of PovioKit, reference 5.1.1 (ad42b2
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 10:39:06 UTC.
Swift 6 data race errors: 13
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:30:26: warning: capture of 'execute' with non-sendable type '() -> T' in a '@Sendable' closure
28 | Promise { seal in
29 | dispatchQueue.asyncAfter(deadline: delay) {
30 | seal.resolve(with: execute(), on: dispatchQueue)
| |- warning: capture of 'execute' with non-sendable type '() -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:33:16: warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
16 | /// - Returns: An array of `T`s wrapped in a promise. If any of the promises fails
17 | /// then the new Promise fails as well.
18 | public func all<T, C: Collection>(
| `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
19 | on dispatchQueue: DispatchQueue? = .main,
20 | promises: C
:
31 | case .success:
32 | barrier.async(flags: .barrier) {
33 | if promises.allSatisfy({ $0.isFulfilled }) {
| `- warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
34 | seal.resolve(with: promises.compactMap { $0.value }, on: dispatchQueue)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:34:15: warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
32 | barrier.async(flags: .barrier) {
33 | if promises.allSatisfy({ $0.isFulfilled }) {
34 | seal.resolve(with: promises.compactMap { $0.value }, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:39:13: warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
37 | case .failure(let error):
38 | barrier.async(flags: .barrier) {
39 | seal.reject(with: error, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
[15/92] Compiling Alamofire AFError.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:14:7: warning: capture of 'seal' with non-sendable type 'Promise<()>' in a '@Sendable' closure
12 | Promise { seal in
13 | dispatchQueue.asyncAfter(deadline: delay) {
14 | seal.resolve(on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<()>' in a '@Sendable' closure
15 | }
16 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:22:7: warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
20 | Promise { seal in
21 | dispatchQueue.asyncAfter(deadline: delay) {
22 | seal.resolve(with: value(), on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
23 | }
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:22:26: warning: capture of 'value' with non-sendable type '() -> T' in a '@Sendable' closure
20 | Promise { seal in
21 | dispatchQueue.asyncAfter(deadline: delay) {
22 | seal.resolve(with: value(), on: dispatchQueue)
| |- warning: capture of 'value' with non-sendable type '() -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
23 | }
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:30:7: warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
28 | Promise { seal in
29 | dispatchQueue.asyncAfter(deadline: delay) {
30 | seal.resolve(with: execute(), on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/After.swift:30:26: warning: capture of 'execute' with non-sendable type '() -> T' in a '@Sendable' closure
28 | Promise { seal in
29 | dispatchQueue.asyncAfter(deadline: delay) {
30 | seal.resolve(with: execute(), on: dispatchQueue)
| |- warning: capture of 'execute' with non-sendable type '() -> T' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:33:16: warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
16 | /// - Returns: An array of `T`s wrapped in a promise. If any of the promises fails
17 | /// then the new Promise fails as well.
18 | public func all<T, C: Collection>(
| `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
19 | on dispatchQueue: DispatchQueue? = .main,
20 | promises: C
:
31 | case .success:
32 | barrier.async(flags: .barrier) {
33 | if promises.allSatisfy({ $0.isFulfilled }) {
| `- warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
34 | seal.resolve(with: promises.compactMap { $0.value }, on: dispatchQueue)
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:34:15: warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
32 | barrier.async(flags: .barrier) {
33 | if promises.allSatisfy({ $0.isFulfilled }) {
34 | seal.resolve(with: promises.compactMap { $0.value }, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
35 | }
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/All.swift:39:13: warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
37 | case .failure(let error):
38 | barrier.async(flags: .barrier) {
39 | seal.reject(with: error, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<[T]>' in a '@Sendable' closure
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
[16/92] Compiling PovioKitPromise Any.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Any.swift:31:17: warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
16 | /// - Parameter promises: A collection of `Promises` that you want to combine.
17 | /// - Returns: An array of `Optional<T>` values wrapped in a Promise.
18 | public func any<T, C: Collection>(
| `- note: consider making generic parameter 'C' conform to the 'Sendable' protocol
19 | on dispatchQueue: DispatchQueue? = .main,
20 | promises: C
:
29 | promise.finally { result in
30 | barrier.async(flags: .barrier) {
31 | guard promises.allSatisfy({ $0.isResolved }) else { return }
| `- warning: capture of 'promises' with non-sendable type 'C' in a '@Sendable' closure
32 | if promises.contains(where: { $0.isFulfilled }) {
33 | seal.resolve(with: promises.map { $0.value }, on: dispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Any.swift:33:13: warning: capture of 'seal' with non-sendable type 'Promise<[T?]>' in a '@Sendable' closure
31 | guard promises.allSatisfy({ $0.isResolved }) else { return }
32 | if promises.contains(where: { $0.isFulfilled }) {
33 | seal.resolve(with: promises.map { $0.value }, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<[T?]>' in a '@Sendable' closure
34 | } else {
35 | seal.reject(with: promises.first(where: { $0.isRejected })!.error!)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
[17/92] Emitting module PovioKitPromise
[18/92] Compiling PovioKitCore MKAnnotationView+PovioKit.swift
[19/92] Compiling PovioKitCore MKCircle+PovioKit.swift
[20/92] Compiling PovioKitCore MKMapView+PovioKit.swift
[21/92] Compiling PovioKitCore MKPolygon+PovioKit.swift
[22/93] Compiling PovioKitPromise Promise.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:190:13: warning: capture of 'seal' with non-sendable type 'Promise<Value>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
:
188 | case .success(let value):
189 | dispatchQueue.asyncAfter(deadline: .now() + duration) {
190 | seal.resolve(with: value, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<Value>' in a '@Sendable' closure
191 | }
192 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:190:32: warning: capture of 'value' with non-sendable type 'Value' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: consider making generic parameter 'Value' conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
:
188 | case .success(let value):
189 | dispatchQueue.asyncAfter(deadline: .now() + duration) {
190 | seal.resolve(with: value, on: dispatchQueue)
| `- warning: capture of 'value' with non-sendable type 'Value' in a '@Sendable' closure
191 | }
192 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:194:13: warning: capture of 'seal' with non-sendable type 'Promise<Value>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
:
192 | case .failure(let error):
193 | dispatchQueue.asyncAfter(deadline: .now() + duration) {
194 | seal.reject(with: error, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<Value>' in a '@Sendable' closure
195 | }
196 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:901:28: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
896 | extension Optional where Wrapped == DispatchQueue {
897 | @inline(__always)
898 | func async(execute work: @escaping () -> Void) {
| `- note: parameter 'work' is implicitly non-sendable
899 | switch self {
900 | case let queue?:
901 | queue.async(execute: work)
| `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
902 | case nil:
903 | work()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:881:18: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
879 | switch $0 {
880 | case .success(let value):
881 | cont.resume(returning: value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
882 | case .failure(let error):
883 | cont.resume(throwing: error)
[23/94] Compiling PovioKitPromise Poll.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:133:92: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
131 | }
132 | retry -= 1
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
134 | case .success(let value):
135 | seal.resolve(with: value, on: resolveDispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:125:9: warning: capture of 'promise' with non-sendable type 'Promise<T>' in a '@Sendable' closure
123 | let promise = request()
124 | barrier.async(flags: .barrier) {
125 | promise.finally {
| `- warning: capture of 'promise' with non-sendable type 'Promise<T>' in a '@Sendable' closure
126 | switch $0 {
127 | case .success(let value) where predicate(value):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:127:42: warning: capture of 'predicate' with non-sendable type '(T) -> Bool' in a '@Sendable' closure
125 | promise.finally {
126 | switch $0 {
127 | case .success(let value) where predicate(value):
| |- warning: capture of 'predicate' with non-sendable type '(T) -> Bool' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | guard retry > 0 else {
129 | seal.reject(with: NSError(domain: "com.promise.poll", code: 999, userInfo: ["message": "Reached a maximum number of retries"]))
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:129:15: warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
127 | case .success(let value) where predicate(value):
128 | guard retry > 0 else {
129 | seal.reject(with: NSError(domain: "com.promise.poll", code: 999, userInfo: ["message": "Reached a maximum number of retries"]))
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
130 | return
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:133:64: warning: capture of 'checkAfter' with non-sendable type '(T) -> DispatchTimeInterval' in a '@Sendable' closure
131 | }
132 | retry -= 1
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
| |- warning: capture of 'checkAfter' with non-sendable type '(T) -> DispatchTimeInterval' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 | case .success(let value):
135 | seal.resolve(with: value, on: resolveDispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:133:92: warning: capture of 'polling()' with non-sendable type '<T> () -> ()' in a '@Sendable' closure
131 | }
132 | retry -= 1
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
| `- warning: capture of 'polling()' with non-sendable type '<T> () -> ()' in a '@Sendable' closure
134 | case .success(let value):
135 | seal.resolve(with: value, on: resolveDispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:127:42: warning: capture of 'predicate' with non-sendable type '(T) -> Bool' in an isolated closure; this is an error in the Swift 6 language mode
125 | promise.finally {
126 | switch $0 {
127 | case .success(let value) where predicate(value):
| |- warning: capture of 'predicate' with non-sendable type '(T) -> Bool' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
128 | guard retry > 0 else {
129 | seal.reject(with: NSError(domain: "com.promise.poll", code: 999, userInfo: ["message": "Reached a maximum number of retries"]))
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:129:15: warning: capture of 'seal' with non-sendable type 'Promise<T>' in an isolated closure; this is an error in the Swift 6 language mode
127 | case .success(let value) where predicate(value):
128 | guard retry > 0 else {
129 | seal.reject(with: NSError(domain: "com.promise.poll", code: 999, userInfo: ["message": "Reached a maximum number of retries"]))
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in an isolated closure; this is an error in the Swift 6 language mode
130 | return
131 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:133:64: warning: capture of 'checkAfter' with non-sendable type '(T) -> DispatchTimeInterval' in an isolated closure; this is an error in the Swift 6 language mode
131 | }
132 | retry -= 1
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
| |- warning: capture of 'checkAfter' with non-sendable type '(T) -> DispatchTimeInterval' in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 | case .success(let value):
135 | seal.resolve(with: value, on: resolveDispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:133:92: warning: capture of 'polling()' with non-sendable type '<T> () -> ()' in an isolated closure; this is an error in the Swift 6 language mode
131 | }
132 | retry -= 1
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
| `- warning: capture of 'polling()' with non-sendable type '<T> () -> ()' in an isolated closure; this is an error in the Swift 6 language mode
134 | case .success(let value):
135 | seal.resolve(with: value, on: resolveDispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:128:19: warning: reference to captured var 'retry' in concurrently-executing code; this is an error in the Swift 6 language mode
126 | switch $0 {
127 | case .success(let value) where predicate(value):
128 | guard retry > 0 else {
| `- warning: reference to captured var 'retry' in concurrently-executing code; this is an error in the Swift 6 language mode
129 | seal.reject(with: NSError(domain: "com.promise.poll", code: 999, userInfo: ["message": "Reached a maximum number of retries"]))
130 | return
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:132:13: warning: mutation of captured var 'retry' in concurrently-executing code; this is an error in the Swift 6 language mode
130 | return
131 | }
132 | retry -= 1
| `- warning: mutation of captured var 'retry' in concurrently-executing code; this is an error in the Swift 6 language mode
133 | pollingDispatchQueue.asyncAfter(deadline: .now() + checkAfter(value), execute: polling)
134 | case .success(let value):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Poll.swift:122:10: warning: concurrently-executed local function 'polling()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
120 | let barrier = DispatchQueue(label: "barrier", attributes: .concurrent)
121 | var retry = retry
122 | func polling() {
| `- warning: concurrently-executed local function 'polling()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
123 | let promise = request()
124 | barrier.async(flags: .barrier) {
[24/94] Compiling PovioKitPromise ConcurrentDispatch.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:63:35: warning: capture of 'activePromises' with non-sendable type '[(promise: Promise<T>, retryCount: Int, segmentIndex: Int)]' in a '@Sendable' closure
61 | func observer(_ result: Result<T, Error>, arrayIndex: Int) {
62 | barrier.async(flags: .barrier) {
63 | let currentSegmentIndex = activePromises[arrayIndex].segmentIndex
| `- warning: capture of 'activePromises' with non-sendable type '[(promise: Promise<T>, retryCount: Int, segmentIndex: Int)]' in a '@Sendable' closure
64 | let alreadyRetriedCount = activePromises[arrayIndex].retryCount
65 |
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:66:16: warning: capture of 'result' with non-sendable type 'Result<T, any Error>' in a '@Sendable' closure
41 | /// - Parameter dispatchQueue: The DispatchQueue on which the result should be notified.
42 | ///
43 | public func concurrentlyDispatch<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
44 | spawnTask next: @escaping (Int) -> Promise<T>?,
45 | concurrent: Int,
:
64 | let alreadyRetriedCount = activePromises[arrayIndex].retryCount
65 |
66 | switch result {
| `- warning: capture of 'result' with non-sendable type 'Result<T, any Error>' in a '@Sendable' closure
67 | case .success:
68 | guard let promise = next(segmentIndex) else {
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:68:31: warning: capture of 'next' with non-sendable type '(Int) -> Promise<T>?' in a '@Sendable' closure
66 | switch result {
67 | case .success:
68 | guard let promise = next(segmentIndex) else {
| |- warning: capture of 'next' with non-sendable type '(Int) -> Promise<T>?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
69 | if activePromises.allSatisfy({ $0.promise.isFulfilled }) { // TODO: - Should we optimise by keeping a counter of how many promises have succeeded thus far?
70 | seal.resolve(on: dispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:70:15: warning: capture of 'seal' with non-sendable type 'Promise<()>' in a '@Sendable' closure
68 | guard let promise = next(segmentIndex) else {
69 | if activePromises.allSatisfy({ $0.promise.isFulfilled }) { // TODO: - Should we optimise by keeping a counter of how many promises have succeeded thus far?
70 | seal.resolve(on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<()>' in a '@Sendable' closure
71 | }
72 | return
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:74:29: warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in a '@Sendable' closure
72 | return
73 | }
74 | promise.finally { observer($0, arrayIndex: arrayIndex) }
| `- warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in a '@Sendable' closure
75 | activePromises[arrayIndex] = (
76 | promise: promise,
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:63:35: warning: mutation of captured var 'activePromises' in concurrently-executing code
61 | func observer(_ result: Result<T, Error>, arrayIndex: Int) {
62 | barrier.async(flags: .barrier) {
63 | let currentSegmentIndex = activePromises[arrayIndex].segmentIndex
| `- warning: mutation of captured var 'activePromises' in concurrently-executing code
64 | let alreadyRetriedCount = activePromises[arrayIndex].retryCount
65 |
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:64:35: warning: mutation of captured var 'activePromises' in concurrently-executing code
62 | barrier.async(flags: .barrier) {
63 | let currentSegmentIndex = activePromises[arrayIndex].segmentIndex
64 | let alreadyRetriedCount = activePromises[arrayIndex].retryCount
| `- warning: mutation of captured var 'activePromises' in concurrently-executing code
65 |
66 | switch result {
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:68:36: warning: reference to captured var 'segmentIndex' in concurrently-executing code
66 | switch result {
67 | case .success:
68 | guard let promise = next(segmentIndex) else {
| `- warning: reference to captured var 'segmentIndex' in concurrently-executing code
69 | if activePromises.allSatisfy({ $0.promise.isFulfilled }) { // TODO: - Should we optimise by keeping a counter of how many promises have succeeded thus far?
70 | seal.resolve(on: dispatchQueue)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:69:16: warning: reference to captured var 'activePromises' in concurrently-executing code
67 | case .success:
68 | guard let promise = next(segmentIndex) else {
69 | if activePromises.allSatisfy({ $0.promise.isFulfilled }) { // TODO: - Should we optimise by keeping a counter of how many promises have succeeded thus far?
| `- warning: reference to captured var 'activePromises' in concurrently-executing code
70 | seal.resolve(on: dispatchQueue)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:74:29: warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
72 | return
73 | }
74 | promise.finally { observer($0, arrayIndex: arrayIndex) }
| `- warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
75 | activePromises[arrayIndex] = (
76 | promise: promise,
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:61:10: warning: concurrently-executed local function 'observer(_:arrayIndex:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
59 | }
60 |
61 | func observer(_ result: Result<T, Error>, arrayIndex: Int) {
| `- warning: concurrently-executed local function 'observer(_:arrayIndex:)' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
62 | barrier.async(flags: .barrier) {
63 | let currentSegmentIndex = activePromises[arrayIndex].segmentIndex
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:75:11: warning: mutation of captured var 'activePromises' in concurrently-executing code
73 | }
74 | promise.finally { observer($0, arrayIndex: arrayIndex) }
75 | activePromises[arrayIndex] = (
| `- warning: mutation of captured var 'activePromises' in concurrently-executing code
76 | promise: promise,
77 | retryCount: 0,
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:78:27: warning: reference to captured var 'segmentIndex' in concurrently-executing code
76 | promise: promise,
77 | retryCount: 0,
78 | segmentIndex: segmentIndex
| `- warning: reference to captured var 'segmentIndex' in concurrently-executing code
79 | )
80 | segmentIndex += 1
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:80:11: warning: mutation of captured var 'segmentIndex' in concurrently-executing code
78 | segmentIndex: segmentIndex
79 | )
80 | segmentIndex += 1
| `- warning: mutation of captured var 'segmentIndex' in concurrently-executing code
81 | case .failure where alreadyRetriedCount < retryCount:
82 | let promise = next(currentSegmentIndex)!
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:83:29: warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
81 | case .failure where alreadyRetriedCount < retryCount:
82 | let promise = next(currentSegmentIndex)!
83 | promise.finally { observer($0, arrayIndex: arrayIndex) }
| `- warning: capture of 'observer(_:arrayIndex:)' with non-sendable type '<T> (Result<T, any Error>, arrayIndex: Int) -> ()' in an isolated closure; this is an error in the Swift 6 language mode
84 | activePromises[arrayIndex] = (
85 | promise: promise,
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:84:11: warning: mutation of captured var 'activePromises' in concurrently-executing code
82 | let promise = next(currentSegmentIndex)!
83 | promise.finally { observer($0, arrayIndex: arrayIndex) }
84 | activePromises[arrayIndex] = (
| `- warning: mutation of captured var 'activePromises' in concurrently-executing code
85 | promise: promise,
86 | retryCount: alreadyRetriedCount + 1,
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/ConcurrentDispatch.swift:90:11: warning: reference to captured var 'activePromises' in concurrently-executing code
88 | )
89 | case .failure(let error):
90 | activePromises.forEach { $0.promise.reject(with: error) }
| `- warning: reference to captured var 'activePromises' in concurrently-executing code
91 | seal.reject(with: error, on: dispatchQueue)
92 | }
[25/95] Compiling PovioKitPromise Future.swift
[26/95] Compiling PovioKitPromise Either.swift
[27/95] Compiling PovioKitPromise Race.swift
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Race.swift:31:13: warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
29 | case .success(let value):
30 | barrier.async(flags: .barrier) {
31 | seal.resolve(with: value)
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
32 | }
33 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Race.swift:31:32: warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure
14 | /// - Parameter promises: A collection of `Promises`.
15 | /// - Returns: The result of the first fullfiled promise in the collection wrapped in a promise.
16 | public func race<T, C: Collection>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
17 | on dispatchQueue: DispatchQueue = .main,
18 | promises: C
:
29 | case .success(let value):
30 | barrier.async(flags: .barrier) {
31 | seal.resolve(with: value)
| `- warning: capture of 'value' with non-sendable type 'T' in a '@Sendable' closure
32 | }
33 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Race.swift:35:13: warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
33 | case .failure(let error):
34 | barrier.async(flags: .barrier) {
35 | seal.reject(with: error, on: dispatchQueue)
| `- warning: capture of 'seal' with non-sendable type 'Promise<T>' in a '@Sendable' closure
36 | }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
[28/96] Compiling Alamofire RequestCompression.swift
[29/96] Compiling Alamofire RequestInterceptor.swift
[30/96] Compiling Alamofire ResponseSerialization.swift
[31/96] Compiling Alamofire RetryPolicy.swift
[32/96] Compiling PovioKitCore SKStoreReviewController+PovioKit.swift
[33/96] Compiling PovioKitCore View+PovioKit.swift
[34/96] Compiling PovioKitCore CGSize+PovioKit.swift
[35/96] Compiling PovioKitCore UIColor+PovioKit.swift
[36/96] Compiling PovioKitCore UIDevice+PovioKit.swift
[37/96] Compiling PovioKitCore UIEdgeInsets+PovioKit.swift
[38/96] Compiling PovioKitCore UIImage+Kingfisher.swift
[39/96] Compiling PovioKitCore UIImage+PovioKit.swift
[40/96] Compiling Alamofire CachedResponseHandler.swift
[41/96] Compiling Alamofire Combine.swift
[42/96] Compiling Alamofire Concurrency.swift
[43/96] Compiling Alamofire EventMonitor.swift
[44/96] Compiling Alamofire MultipartFormData.swift
[45/96] Compiling Alamofire MultipartUpload.swift
[46/96] Compiling Alamofire NetworkReachabilityManager.swift
[47/96] Compiling Alamofire RedirectHandler.swift
[50/96] Compiling Alamofire DataRequest.swift
[51/96] Compiling Alamofire DataStreamRequest.swift
[52/96] Compiling Alamofire DownloadRequest.swift
[53/96] Emitting module Alamofire
[54/96] Compiling Alamofire HTTPHeaders.swift
[55/96] Compiling Alamofire HTTPMethod.swift
[56/96] Compiling Alamofire Notifications.swift
[57/96] Compiling Alamofire ParameterEncoder.swift
[58/96] Compiling PovioKitCore DateFormatter+PovioKit.swift
[59/96] Compiling PovioKitCore DecodableDictionary+PovioKit.swift
[60/96] Compiling PovioKitCore DispatchTimeInterval+PovioKit.swift
[61/96] Compiling PovioKitCore Result+PovioKit.swift
[62/96] Compiling PovioKitCore String+PovioKit.swift
[63/96] Compiling Alamofire Session.swift
[64/96] Compiling PovioKitPromise Wrap.swift
[71/99] Compiling Alamofire ServerTrustEvaluation.swift
[72/99] Compiling Alamofire URLEncodedFormEncoder.swift
[73/99] Compiling Alamofire Validation.swift
[74/99] Compiling Alamofire resource_bundle_accessor.swift
[87/106] Compiling PovioKitCore UIResponder+PovioKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Core/Logger/Logger.swift:13:21: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import OSLog
10 |
11 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
12 | public typealias Parameters = [String: Any]
13 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | public var logLevel: LogLevel = .none
15 |
[88/106] Compiling PovioKitCore UIWindow+PovioKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Core/Logger/Logger.swift:13:21: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import OSLog
10 |
11 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
12 | public typealias Parameters = [String: Any]
13 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | public var logLevel: LogLevel = .none
15 |
[89/106] Compiling PovioKitCore Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Core/Logger/Logger.swift:13:21: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import OSLog
10 |
11 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
12 | public typealias Parameters = [String: Any]
13 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | public var logLevel: LogLevel = .none
15 |
[90/106] Compiling PovioKitNetworking OAuthCredentials.swift
[94/106] Emitting module PovioKitCore
/Users/admin/builder/spi-builder-workspace/Sources/Core/Logger/Logger.swift:13:21: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import OSLog
10 |
11 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
12 | public typealias Parameters = [String: Any]
13 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | public var logLevel: LogLevel = .none
15 |
[95/106] Compiling PovioKitNetworking DomainConvertible.swift
[96/106] Compiling PovioKitNetworking AlamofireConsoleLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireConsoleLogger.swift:15:15: warning: stored property 'logger' of 'Sendable'-conforming class 'AlamofireConsoleLogger' has non-sendable type '(String) -> Void'; this is an error in the Swift 6 language mode
13 | public final class AlamofireConsoleLogger: EventMonitor {
14 | public let queue = DispatchQueue(label: "com.alamofire.console.networklogger")
15 | private let logger: (String) -> Void
| |- warning: stored property 'logger' of 'Sendable'-conforming class 'AlamofireConsoleLogger' has non-sendable type '(String) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
16 |
17 | public init(logger: @escaping (String) -> Void = { Logger.debug($0, line: -1) }) {
[97/106] Compiling PovioKitNetworking URLEncodedFormParameterEncoder+PovioKit.swift
[98/106] Compiling PovioKitNetworking ParameterEncoder+PovioKit.swift
[99/106] Compiling PovioKitNetworking AlamofireNetworkClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:221:10: warning: associated value 'request' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
219 | public extension AlamofireNetworkClient {
220 | enum Error: LocalizedError {
221 | case request(RequestError, ErrorInfo)
| `- warning: associated value 'request' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
222 | case other(Swift.Error, ErrorInfo)
223 |
:
273 | }
274 |
275 | struct ErrorInfo: CustomStringConvertible {
| `- note: consider making struct 'ErrorInfo' conform to the 'Sendable' protocol
276 | public var method: HTTPMethod?
277 | public var endpoint: URLConvertible?
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:222:10: warning: associated value 'other' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
220 | enum Error: LocalizedError {
221 | case request(RequestError, ErrorInfo)
222 | case other(Swift.Error, ErrorInfo)
| `- warning: associated value 'other' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
223 |
224 | public var errorDescription: String? {
:
273 | }
274 |
275 | struct ErrorInfo: CustomStringConvertible {
| `- note: consider making struct 'ErrorInfo' conform to the 'Sendable' protocol
276 | public var method: HTTPMethod?
277 | public var endpoint: URLConvertible?
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:562:42: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:562:73: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:563:36: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
565 | ) async throws -> D {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:563:67: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
565 | ) async throws -> D {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:564:44: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
565 | ) async throws -> D {
566 | do {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:564:75: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
565 | ) async throws -> D {
566 | do {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:75:21: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
73 | endpoint,
74 | method: method,
75 | parameters: parameters,
| `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 | encoding: parameterEncoding,
77 | headers: headers,
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:95:8: warning: type 'E' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
82 | }
83 |
84 | func request<E: Encodable>(
| `- note: consider making generic parameter 'E' conform to the 'Sendable' protocol
85 | method: HTTPMethod,
86 | endpoint: URLConvertible,
:
93 | ) -> DataRequest {
94 | let request = session
95 | .request(
| `- warning: type 'E' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
96 | endpoint,
97 | method: method,
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:194:8: warning: type 'E' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
181 | }
182 |
183 | func download<E: Encodable>(
| `- note: consider making generic parameter 'E' conform to the 'Sendable' protocol
184 | method: HTTPMethod,
185 | endpoint: URLConvertible,
:
192 | ) -> DownloadRequest {
193 | let request = session
194 | .download(
| `- warning: type 'E' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
195 | endpoint,
196 | method: method,
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:213:19: warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
207 | func cancelAllRequests(
208 | completingOnQueue queue: DispatchQueue,
209 | completion: (() -> Void)?
| `- note: parameter 'completion' is implicitly non-sendable
210 | ) {
211 | session.cancelAllRequests(
212 | completingOnQueue: queue,
213 | completion: completion
| `- warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
214 | )
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:321:11: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
319 | switch $0.result {
320 | case .success(let value):
321 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
322 | promise.resolve(with: value)
323 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:322:11: warning: capture of 'promise' with non-sendable type 'Promise<String>' in a '@Sendable' closure
320 | case .success(let value):
321 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
322 | promise.resolve(with: value)
| `- warning: capture of 'promise' with non-sendable type 'Promise<String>' in a '@Sendable' closure
323 | case .failure(let error):
324 | let error = self.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:12:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PovioKitPromise'
10 | import Alamofire
11 | import PovioKitCore
12 | import PovioKitPromise
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PovioKitPromise'
13 |
14 | public typealias URLEncoding = Alamofire.URLEncoding
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:321:61: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
319 | switch $0.result {
320 | case .success(let value):
321 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
322 | promise.resolve(with: value)
323 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:325:58: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
323 | case .failure(let error):
324 | let error = self.handleError(error)
325 | self.eventMonitors.forEach { $0.requestDidFail(self, with: error) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
326 | promise.reject(with: error)
327 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:346:11: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
344 | switch response.result {
345 | case .success(let data):
346 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
347 | promise.resolve(with: (data, response.response?.headers))
348 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:347:11: warning: capture of 'promise' with non-sendable type 'Promise<(Data, HTTPHeaders?)>' (aka 'Promise<(Data, Optional<HTTPHeaders>)>') in a '@Sendable' closure
345 | case .success(let data):
346 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
347 | promise.resolve(with: (data, response.response?.headers))
| `- warning: capture of 'promise' with non-sendable type 'Promise<(Data, HTTPHeaders?)>' (aka 'Promise<(Data, Optional<HTTPHeaders>)>') in a '@Sendable' closure
348 | case .failure(let error):
349 | let error = self.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:346:61: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
344 | switch response.result {
345 | case .success(let data):
346 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
347 | promise.resolve(with: (data, response.response?.headers))
348 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:350:58: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
348 | case .failure(let error):
349 | let error = self.handleError(error)
350 | self.eventMonitors.forEach { $0.requestDidFail(self, with: error) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
351 | promise.reject(with: error)
352 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:362:11: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
360 | switch $0.result {
361 | case .success:
362 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
363 | promise.resolve(with: $0.response?.headers)
364 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:363:11: warning: capture of 'promise' with non-sendable type 'Promise<HTTPHeaders?>' (aka 'Promise<Optional<HTTPHeaders>>') in a '@Sendable' closure
361 | case .success:
362 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
363 | promise.resolve(with: $0.response?.headers)
| `- warning: capture of 'promise' with non-sendable type 'Promise<HTTPHeaders?>' (aka 'Promise<Optional<HTTPHeaders>>') in a '@Sendable' closure
364 | case .failure(let error):
365 | let error = self.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:362:61: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
360 | switch $0.result {
361 | case .success:
362 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
363 | promise.resolve(with: $0.response?.headers)
364 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:366:58: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
364 | case .failure(let error):
365 | let error = self.handleError(error)
366 | self.eventMonitors.forEach { $0.requestDidFail(self, with: error) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
367 | promise.reject(with: error)
368 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:379:19: warning: type 'D' does not conform to the 'Sendable' protocol
371 | }
372 |
373 | func decodeWithHeaders<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
374 | _ decodable: D.Type,
375 | decoder: JSONDecoder = .init(),
:
377 | ) -> Promise<(D, HTTPHeaders?)> {
378 | .init { promise in
379 | dataRequest.responseDecodable(decoder: decoder) { (response: AFDataResponse<D>) in
| `- warning: type 'D' does not conform to the 'Sendable' protocol
380 | switch response.result {
381 | case .success(let decodedObject):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:380:25: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
371 | }
372 |
373 | func decodeWithHeaders<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
374 | _ decodable: D.Type,
375 | decoder: JSONDecoder = .init(),
:
378 | .init { promise in
379 | dataRequest.responseDecodable(decoder: decoder) { (response: AFDataResponse<D>) in
380 | switch response.result {
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
381 | case .success(let decodedObject):
382 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:383:58: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
371 | }
372 |
373 | func decodeWithHeaders<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
374 | _ decodable: D.Type,
375 | decoder: JSONDecoder = .init(),
:
381 | case .success(let decodedObject):
382 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
383 | promise.resolve(with: (decodedObject, response.response?.headers), on: dispatchQueue)
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
384 | case .failure(let error):
385 | let error = self.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:382:11: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
380 | switch response.result {
381 | case .success(let decodedObject):
382 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in a '@Sendable' closure
383 | promise.resolve(with: (decodedObject, response.response?.headers), on: dispatchQueue)
384 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:383:11: warning: capture of 'promise' with non-sendable type 'Promise<(D, HTTPHeaders?)>' (aka 'Promise<(D, Optional<HTTPHeaders>)>') in a '@Sendable' closure
381 | case .success(let decodedObject):
382 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
383 | promise.resolve(with: (decodedObject, response.response?.headers), on: dispatchQueue)
| `- warning: capture of 'promise' with non-sendable type 'Promise<(D, HTTPHeaders?)>' (aka 'Promise<(D, Optional<HTTPHeaders>)>') in a '@Sendable' closure
384 | case .failure(let error):
385 | let error = self.handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:382:61: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
380 | switch response.result {
381 | case .success(let decodedObject):
382 | self.eventMonitors.forEach { $0.requestDidSucceed(self) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
383 | promise.resolve(with: (decodedObject, response.response?.headers), on: dispatchQueue)
384 | case .failure(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:386:58: warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
232 | }
233 |
234 | class DataRequest {
| `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
235 | private let dataRequest: Alamofire.DataRequest
236 | private var errorHandler: ErrorHandler?
:
384 | case .failure(let error):
385 | let error = self.handleError(error)
386 | self.eventMonitors.forEach { $0.requestDidFail(self, with: error) }
| `- warning: capture of 'self' with non-sendable type 'AlamofireNetworkClient.DataRequest' in an isolated closure; this is an error in the Swift 6 language mode
387 | promise.reject(with: error, on: dispatchQueue)
388 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:414:17: warning: type 'S' does not conform to the 'Sendable' protocol
411 | }
412 |
413 | func validate<S: Sequence>(statusCode: S) -> Self where S.Iterator.Element == Int {
| `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
414 | dataRequest.validate(statusCode: statusCode)
| `- warning: type 'S' does not conform to the 'Sendable' protocol
415 | return self
416 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:433:13: warning: capture of 'promise' with non-sendable type 'Promise<URL>' in a '@Sendable' closure
431 | guard let url else {
432 | let error = AlamofireNetworkClient.Error.RequestError.other(0)
433 | promise.reject(with: error)
| `- warning: capture of 'promise' with non-sendable type 'Promise<URL>' in a '@Sendable' closure
434 | return
435 | }
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:449:11: warning: capture of 'promise' with non-sendable type 'Promise<URL?>' in a '@Sendable' closure
447 | switch response.result {
448 | case .success(let url):
449 | promise.resolve(with: url)
| `- warning: capture of 'promise' with non-sendable type 'Promise<URL?>' in a '@Sendable' closure
450 | case .failure(let error):
451 | promise.reject(with: error)
/Users/admin/builder/spi-builder-workspace/Sources/PromiseKit/Promise.swift:11:14: note: generic class 'Promise' does not conform to the 'Sendable' protocol
9 | import Foundation
10 |
11 | public class Promise<Value>: Future<Value, Error> {
| `- note: generic class 'Promise' does not conform to the 'Sendable' protocol
12 | public override init() {
13 | super.init()
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:478:21: warning: type 'S' does not conform to the 'Sendable' protocol
475 | }
476 |
477 | func validate<S: Sequence>(statusCode: S) -> Self where S.Iterator.Element == Int {
| `- note: consider making generic parameter 'S' conform to the 'Sendable' protocol
478 | downloadRequest.validate(statusCode: statusCode)
| `- warning: type 'S' does not conform to the 'Sendable' protocol
479 | return self
480 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:567:41: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
565 | ) async throws -> D {
566 | do {
567 | let value = try await dataRequest.serializingDecodable(
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
568 | D.self,
569 | automaticallyCancelling: shouldAutomaticallyCancel,
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:574:9: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
572 | emptyResponseCodes: emptyResponseCodes,
573 | emptyRequestMethods: emptyRequestMethods
574 | ).value
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
575 | eventMonitors.forEach { $0.requestDidSucceed(self) }
576 | return value
[100/106] Emitting module PovioKitNetworking
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireConsoleLogger.swift:15:15: warning: stored property 'logger' of 'Sendable'-conforming class 'AlamofireConsoleLogger' has non-sendable type '(String) -> Void'; this is an error in the Swift 6 language mode
13 | public final class AlamofireConsoleLogger: EventMonitor {
14 | public let queue = DispatchQueue(label: "com.alamofire.console.networklogger")
15 | private let logger: (String) -> Void
| |- warning: stored property 'logger' of 'Sendable'-conforming class 'AlamofireConsoleLogger' has non-sendable type '(String) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
16 |
17 | public init(logger: @escaping (String) -> Void = { Logger.debug($0, line: -1) }) {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:221:10: warning: associated value 'request' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
219 | public extension AlamofireNetworkClient {
220 | enum Error: LocalizedError {
221 | case request(RequestError, ErrorInfo)
| `- warning: associated value 'request' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
222 | case other(Swift.Error, ErrorInfo)
223 |
:
273 | }
274 |
275 | struct ErrorInfo: CustomStringConvertible {
| `- note: consider making struct 'ErrorInfo' conform to the 'Sendable' protocol
276 | public var method: HTTPMethod?
277 | public var endpoint: URLConvertible?
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:222:10: warning: associated value 'other' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
220 | enum Error: LocalizedError {
221 | case request(RequestError, ErrorInfo)
222 | case other(Swift.Error, ErrorInfo)
| `- warning: associated value 'other' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AlamofireNetworkClient.Error.ErrorInfo'; this is an error in the Swift 6 language mode
223 |
224 | public var errorDescription: String? {
:
273 | }
274 |
275 | struct ErrorInfo: CustomStringConvertible {
| `- note: consider making struct 'ErrorInfo' conform to the 'Sendable' protocol
276 | public var method: HTTPMethod?
277 | public var endpoint: URLConvertible?
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:562:42: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:562:73: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:563:36: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
565 | ) async throws -> D {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:563:67: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
561 | automaticallyCancelling shouldAutomaticallyCancel: Bool = false,
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
565 | ) async throws -> D {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:564:44: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
565 | ) async throws -> D {
566 | do {
/Users/admin/builder/spi-builder-workspace/Sources/Networking/AlamofireNetworkClient/AlamofireNetworkClient.swift:564:75: warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
556 | ///
557 | /// ``Alamofire.Concurrency.serializingDecodable``
558 | func decode<D: Decodable>(
| `- note: consider making generic parameter 'D' conform to the 'Sendable' protocol
559 | _ decodable: D.Type,
560 | decoder: JSONDecoder = .init(),
:
562 | dataPreprocessor: DataPreprocessor = DecodableResponseSerializer<D>.defaultDataPreprocessor,
563 | emptyResponseCodes: Set<Int> = DecodableResponseSerializer<D>.defaultEmptyResponseCodes,
564 | emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer<D>.defaultEmptyRequestMethods
| `- warning: type 'D' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
565 | ) async throws -> D {
566 | do {
[107/154] Compiling PovioKitSwiftUI ScrollViewWithOffset.swift
/Users/admin/builder/spi-builder-workspace/Sources/UI/SwiftUI/Views/ScrollViewWithOffset/ScrollViewWithOffset.swift:85:14: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | private struct ScrollOffsetPreferenceKey: PreferenceKey {
85 | static var defaultValue: CGPoint = .zero
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 | static func reduce(value: inout CGPoint, nextValue: () -> CGPoint) { /* no impl */ }
87 | }
[108/155] Compiling PovioKitSwiftUI RemoteImage.swift
[109/155] Compiling PovioKitUtilities BundleReader.swift
[110/155] Compiling PovioKitUtilities Camera+PovioKit.swift
[111/155] Compiling PovioKitUtilities QRCodeScanner.swift
[112/155] Compiling PovioKitUtilities ColorInterpolator.swift
[113/155] Compiling PovioKitUtilities CameraService.swift
[114/155] Compiling PovioKitUtilities PhotoCamera.swift
[115/155] Compiling PovioKitUtilities UILabel+BuilderCompatible.swift
[116/155] Compiling PovioKitUtilities UITextField+BuilderCompatible.swift
[117/155] Compiling PovioKitUtilities Delegated.swift
[118/155] Compiling PovioKitUtilities DispatchTimer.swift
[119/155] Emitting module PovioKitSwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/UI/SwiftUI/Views/ScrollViewWithOffset/ScrollViewWithOffset.swift:85:14: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
83 |
84 | private struct ScrollOffsetPreferenceKey: PreferenceKey {
85 | static var defaultValue: CGPoint = .zero
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 | static func reduce(value: inout CGPoint, nextValue: () -> CGPoint) { /* no impl */ }
87 | }
[120/155] Compiling PovioKitUtilities Exif.swift
[121/155] Compiling PovioKitUtilities Broadcast.swift
[122/155] Compiling PovioKitUtilities AppVersionValidator.swift
[123/155] Compiling PovioKitUtilities AttributedStringBuilder.swift
[124/155] Compiling PovioKitSwiftUI SimpleColorPicker.swift
[125/155] Emitting module PovioKitUtilities
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Money/Money+Defaults.swift:20:12: warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | // NOTE: - Not thread safe! Previous instances won't be affected.
20 | public var defaults = Money.Defaults()
| |- warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaults' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
[126/158] Compiling PovioKitUtilities Money+Currency.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Money/Money+Defaults.swift:20:12: warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | // NOTE: - Not thread safe! Previous instances won't be affected.
20 | public var defaults = Money.Defaults()
| |- warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaults' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
[127/158] Compiling PovioKitUtilities Money+Defaults.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Money/Money+Defaults.swift:20:12: warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | // NOTE: - Not thread safe! Previous instances won't be affected.
20 | public var defaults = Money.Defaults()
| |- warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaults' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
[128/158] Compiling PovioKitUtilities Money+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Money/Money+Defaults.swift:20:12: warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | // NOTE: - Not thread safe! Previous instances won't be affected.
20 | public var defaults = Money.Defaults()
| |- warning: var 'defaults' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaults' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'defaults' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
[129/158] Compiling PovioKitUtilities Money.swift
[130/158] Compiling PovioKitUtilities UserDefault.swift
[131/158] Compiling PovioKitUtilities XCConfigValue.swift
[132/158] Compiling PovioKitUtilities StartupProcess.swift
[133/158] Compiling PovioKitUtilities StartupProcessService.swift
[134/158] Compiling PovioKitUtilities Throttler.swift
[135/158] Compiling PovioKitUtilities MediaPlayer+Models.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:97:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
95 | override public init() {
96 | super.init()
97 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | }
99 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:102:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
100 | public override init(url: URL) {
101 | super.init(playerItem: AVPlayerItem(url: url))
102 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
103 | }
104 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:107:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
105 | public override init(playerItem item: AVPlayerItem?) {
106 | super.init(playerItem: item)
107 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:5: warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
38 |
39 | public class MediaPlayer: AVPlayer {
40 | public private(set) lazy var playbackInterval: (startAt: Double, endAt: Double) = (0, duration)
| `- note: mutation of this property is only permitted within the actor
41 |
42 | /// A Boolean value that determines whether the media player should loop playback when it reaches the end of the media.
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:28: warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:219:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
219 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | }
221 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:263:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
261 | switch playerItem.status {
262 | case .readyToPlay:
263 | canPlayVideo = true
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:264:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
262 | case .readyToPlay:
263 | canPlayVideo = true
264 | state = .readyToPlay
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:265:9: warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
263 | canPlayVideo = true
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
266 | if playWhenReady {
267 | play()
:
280 | }
281 |
282 | func setupPeriodicTimeObserver() {
| |- note: calls to instance method 'setupPeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
283 | guard periodicTimeObserver == nil else { return }
284 | periodicTimeObserver = addPeriodicTimeObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:266:12: warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
89 | private var canPlayVideo: Bool = false
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
| `- note: property declared here
92 | private var playerItemObserver: NSKeyValueObservation?
93 | private var periodicTimeObserver: Any?
:
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
| `- warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
267 | play()
268 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:267:11: warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 | /// Starts playing the media from the current position.
118 | /// This function also updates the state of the media player to `.playing` and informs the delegate that the playback has started.
119 | public override func play() {
| |- note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
120 | guard canPlayVideo else {
121 | setupPlayerItemObserver()
:
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
267 | play()
| `- warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 | }
269 | case .unknown:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:270:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
268 | }
269 | case .unknown:
270 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:271:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
269 | case .unknown:
270 | canPlayVideo = false
271 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
272 | case .failed:
273 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:273:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
273 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:274:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
272 | case .failed:
273 | canPlayVideo = false
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
275 | @unknown default:
276 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:276:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
276 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
277 | state = .failed(error: Error.undefinedState)
278 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:277:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
275 | @unknown default:
276 | canPlayVideo = false
277 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
278 | }
279 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:291:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
289 |
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
292 | removePeriodicTimeObserver()
293 | return
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:292:9: warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
292 | removePeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
293 | return
294 | }
:
321 | }
322 |
323 | func removePeriodicTimeObserver() {
| |- note: calls to instance method 'removePeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
324 | periodicTimeObserver.map(removeTimeObserver)
325 | periodicTimeObserver = nil
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:296:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
294 | }
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:74: warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:298:7: warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
| `- warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
299 |
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
:
305 | }
306 |
307 | func timeObserverCallback(time: CMTime) {
| |- note: calls to instance method 'timeObserverCallback(time:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
308 | guard (time.seconds + Double(timeObservingMiliseconds) / 1_000) >= playbackInterval.endAt else { return }
309 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:302:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
304 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:303:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
304 | }
305 | }
[136/158] Compiling PovioKitUtilities MediaPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:97:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
95 | override public init() {
96 | super.init()
97 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | }
99 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:102:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
100 | public override init(url: URL) {
101 | super.init(playerItem: AVPlayerItem(url: url))
102 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
103 | }
104 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:107:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
105 | public override init(playerItem item: AVPlayerItem?) {
106 | super.init(playerItem: item)
107 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:5: warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
38 |
39 | public class MediaPlayer: AVPlayer {
40 | public private(set) lazy var playbackInterval: (startAt: Double, endAt: Double) = (0, duration)
| `- note: mutation of this property is only permitted within the actor
41 |
42 | /// A Boolean value that determines whether the media player should loop playback when it reaches the end of the media.
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:28: warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:219:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
219 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | }
221 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:263:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
261 | switch playerItem.status {
262 | case .readyToPlay:
263 | canPlayVideo = true
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:264:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
262 | case .readyToPlay:
263 | canPlayVideo = true
264 | state = .readyToPlay
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:265:9: warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
263 | canPlayVideo = true
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
266 | if playWhenReady {
267 | play()
:
280 | }
281 |
282 | func setupPeriodicTimeObserver() {
| |- note: calls to instance method 'setupPeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
283 | guard periodicTimeObserver == nil else { return }
284 | periodicTimeObserver = addPeriodicTimeObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:266:12: warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
89 | private var canPlayVideo: Bool = false
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
| `- note: property declared here
92 | private var playerItemObserver: NSKeyValueObservation?
93 | private var periodicTimeObserver: Any?
:
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
| `- warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
267 | play()
268 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:267:11: warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 | /// Starts playing the media from the current position.
118 | /// This function also updates the state of the media player to `.playing` and informs the delegate that the playback has started.
119 | public override func play() {
| |- note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
120 | guard canPlayVideo else {
121 | setupPlayerItemObserver()
:
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
267 | play()
| `- warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 | }
269 | case .unknown:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:270:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
268 | }
269 | case .unknown:
270 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:271:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
269 | case .unknown:
270 | canPlayVideo = false
271 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
272 | case .failed:
273 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:273:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
273 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:274:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
272 | case .failed:
273 | canPlayVideo = false
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
275 | @unknown default:
276 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:276:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
276 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
277 | state = .failed(error: Error.undefinedState)
278 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:277:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
275 | @unknown default:
276 | canPlayVideo = false
277 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
278 | }
279 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:291:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
289 |
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
292 | removePeriodicTimeObserver()
293 | return
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:292:9: warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
292 | removePeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
293 | return
294 | }
:
321 | }
322 |
323 | func removePeriodicTimeObserver() {
| |- note: calls to instance method 'removePeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
324 | periodicTimeObserver.map(removeTimeObserver)
325 | periodicTimeObserver = nil
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:296:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
294 | }
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:74: warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:298:7: warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
| `- warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
299 |
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
:
305 | }
306 |
307 | func timeObserverCallback(time: CMTime) {
| |- note: calls to instance method 'timeObserverCallback(time:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
308 | guard (time.seconds + Double(timeObservingMiliseconds) / 1_000) >= playbackInterval.endAt else { return }
309 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:302:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
304 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:303:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
304 | }
305 | }
[137/158] Compiling PovioKitUtilities MediaStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:97:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
95 | override public init() {
96 | super.init()
97 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
98 | }
99 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:102:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
100 | public override init(url: URL) {
101 | super.init(playerItem: AVPlayerItem(url: url))
102 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
103 | }
104 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:107:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
105 | public override init(playerItem item: AVPlayerItem?) {
106 | super.init(playerItem: item)
107 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:5: warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
38 |
39 | public class MediaPlayer: AVPlayer {
40 | public private(set) lazy var playbackInterval: (startAt: Double, endAt: Double) = (0, duration)
| `- note: mutation of this property is only permitted within the actor
41 |
42 | /// A Boolean value that determines whether the media player should loop playback when it reaches the end of the media.
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'playbackInterval' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:218:28: warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
216 | public override func replaceCurrentItem(with item: AVPlayerItem?) {
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
| `- warning: main actor-isolated property 'duration' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
219 | setupPlayerItemObserver()
220 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:219:5: warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
217 | super.replaceCurrentItem(with: item)
218 | playbackInterval = (0, duration)
219 | setupPlayerItemObserver()
| `- warning: call to main actor-isolated instance method 'setupPlayerItemObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
220 | }
221 |
:
243 | // MARK: - Private Methods
244 | private extension MediaPlayer {
245 | func setupPlayerItemObserver() {
| |- note: calls to instance method 'setupPlayerItemObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
246 | // notification when playback ends
247 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:263:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
261 | switch playerItem.status {
262 | case .readyToPlay:
263 | canPlayVideo = true
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:264:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
262 | case .readyToPlay:
263 | canPlayVideo = true
264 | state = .readyToPlay
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:265:9: warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
263 | canPlayVideo = true
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'setupPeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
266 | if playWhenReady {
267 | play()
:
280 | }
281 |
282 | func setupPeriodicTimeObserver() {
| |- note: calls to instance method 'setupPeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
283 | guard periodicTimeObserver == nil else { return }
284 | periodicTimeObserver = addPeriodicTimeObserver(
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:266:12: warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
89 | private var canPlayVideo: Bool = false
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
| `- note: property declared here
92 | private var playerItemObserver: NSKeyValueObservation?
93 | private var periodicTimeObserver: Any?
:
264 | state = .readyToPlay
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
| `- warning: main actor-isolated property 'playWhenReady' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
267 | play()
268 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:267:11: warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 | /// Starts playing the media from the current position.
118 | /// This function also updates the state of the media player to `.playing` and informs the delegate that the playback has started.
119 | public override func play() {
| |- note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
120 | guard canPlayVideo else {
121 | setupPlayerItemObserver()
:
265 | setupPeriodicTimeObserver()
266 | if playWhenReady {
267 | play()
| `- warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
268 | }
269 | case .unknown:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:270:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
268 | }
269 | case .unknown:
270 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:271:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
269 | case .unknown:
270 | canPlayVideo = false
271 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
272 | case .failed:
273 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:273:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
271 | state = .failed(error: Error.undefinedState)
272 | case .failed:
273 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:274:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
272 | case .failed:
273 | canPlayVideo = false
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
275 | @unknown default:
276 | canPlayVideo = false
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:276:9: warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
89 | private var canPlayVideo: Bool = false
| `- note: mutation of this property is only permitted within the actor
90 | /// Flipped to `true` when trying to start playing but `canPlayVideo` is false
91 | private var playWhenReady: Bool = false
:
274 | state = .failed(error: playerItem.error ?? Error.undefinedError)
275 | @unknown default:
276 | canPlayVideo = false
| `- warning: main actor-isolated property 'canPlayVideo' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
277 | state = .failed(error: Error.undefinedState)
278 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:277:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
275 | @unknown default:
276 | canPlayVideo = false
277 | state = .failed(error: Error.undefinedState)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
278 | }
279 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:291:9: warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
80 | /// This property is of type `MediaPlayerPlaybackState` and its default value is `.undefined`.
81 | /// When the state changes, the media player informs its delegate by calling the `mediaPlayer(_:didUpdatePlaybackState:)` method.
82 | public var state: PlaybackState = .preparing {
| `- note: mutation of this property is only permitted within the actor
83 | didSet { onStateUpdate() }
84 | }
:
289 |
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
| `- warning: main actor-isolated property 'state' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
292 | removePeriodicTimeObserver()
293 | return
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:292:9: warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
290 | if currentItem?.status == .failed, let error = currentItem?.error {
291 | state = .failed(error: error)
292 | removePeriodicTimeObserver()
| `- warning: call to main actor-isolated instance method 'removePeriodicTimeObserver()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
293 | return
294 | }
:
321 | }
322 |
323 | func removePeriodicTimeObserver() {
| |- note: calls to instance method 'removePeriodicTimeObserver()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
324 | periodicTimeObserver.map(removeTimeObserver)
325 | periodicTimeObserver = nil
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:296:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
294 | }
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:7: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:297:74: warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
61 |
62 | /// The total duration of the current media item in seconds. This duration does not take into account any custom playback interval set.
63 | public var duration: Double {
| `- note: property declared here
64 | guard let duration = currentItem?.asset.duration, duration.isValid, !duration.seconds.isNaN else { return 0 }
65 | return duration.seconds
:
295 |
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
| `- warning: main actor-isolated property 'duration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
298 | timeObserverCallback(time: time)
299 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:298:7: warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
296 | delegate?.mediaPlayer(self, didProgressToTime: time.seconds)
297 | delegate?.mediaPlayer(self, onProgressUpdate: Float(time.seconds / duration))
298 | timeObserverCallback(time: time)
| `- warning: call to main actor-isolated instance method 'timeObserverCallback(time:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
299 |
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
:
305 | }
306 |
307 | func timeObserverCallback(time: CMTime) {
| |- note: calls to instance method 'timeObserverCallback(time:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'AVPlayer'
308 | guard (time.seconds + Double(timeObservingMiliseconds) / 1_000) >= playbackInterval.endAt else { return }
309 |
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:302:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
300 | guard let currentItem = self.currentItem, currentItem.status == .readyToPlay else { return }
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
304 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/MediaPlayer/MediaPlayer.swift:303:9: warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public weak var delegate: MediaPlayerDelegate?
| `- note: property declared here
87 |
88 | /// Boolean flag `true` when item is prepared and can be played
:
301 | currentItem.isPlaybackLikelyToKeepUp
302 | ? delegate?.mediaPlayer(didEndBuffering: self)
303 | : delegate?.mediaPlayer(didBeginBuffering: self)
| `- warning: main actor-isolated property 'delegate' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
304 | }
305 | }
[138/158] Compiling PovioKitUtilities ExifError.swift
[139/158] Compiling PovioKitUtilities ExifImageSource.swift
[140/158] Compiling PovioKitUtilities ImageSource.swift
[141/158] Compiling PovioKitUtilities InAppPurchaseError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:151: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
149 | private extension InAppPurchaseService {
150 | func listenForTransactions() -> Task<Void, Error> {
151 | return Task.detached {
| `- 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
152 | for await result in Transaction.updates {
153 | do {
154 | let transaction = try self.checkVerified(result)
| `- note: closure captures 'self' which is accessible to code in the current task
155 | await self.updatePurchasedProducts()
156 | await transaction.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:30:10: 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
28 | updateListenerTask = listenForTransactions()
29 |
30 | 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
31 | await requestProducts()
| `- note: closure captures 'self' which is accessible to code in the current task
32 | await updatePurchasedProducts()
33 | }
[142/158] Compiling PovioKitUtilities InAppPurchaseService.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:151: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
149 | private extension InAppPurchaseService {
150 | func listenForTransactions() -> Task<Void, Error> {
151 | return Task.detached {
| `- 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
152 | for await result in Transaction.updates {
153 | do {
154 | let transaction = try self.checkVerified(result)
| `- note: closure captures 'self' which is accessible to code in the current task
155 | await self.updatePurchasedProducts()
156 | await transaction.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:30:10: 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
28 | updateListenerTask = listenForTransactions()
29 |
30 | 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
31 | await requestProducts()
| `- note: closure captures 'self' which is accessible to code in the current task
32 | await updatePurchasedProducts()
33 | }
[143/158] Compiling PovioKitUtilities AudioPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:151: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
149 | private extension InAppPurchaseService {
150 | func listenForTransactions() -> Task<Void, Error> {
151 | return Task.detached {
| `- 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
152 | for await result in Transaction.updates {
153 | do {
154 | let transaction = try self.checkVerified(result)
| `- note: closure captures 'self' which is accessible to code in the current task
155 | await self.updatePurchasedProducts()
156 | await transaction.finish()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/InAppPurchase/InAppPurchaseService.swift:30:10: 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
28 | updateListenerTask = listenForTransactions()
29 |
30 | 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
31 | await requestProducts()
| `- note: closure captures 'self' which is accessible to code in the current task
32 | await updatePurchasedProducts()
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:7: warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public final class Broadcast<T> {
| `- note: generic class 'Broadcast' does not conform to the 'Sendable' protocol
12 | private(set) var observers = [Weak]()
13 |
:
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| `- warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:31: warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| |- warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Camera/Camera.swift:67:14: warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
9 | import AVFoundation
10 |
11 | public class Camera: NSObject {
| `- note: class 'Camera' does not conform to the 'Sendable' protocol
12 | var device: AVCaptureDevice? {
13 | switch cameraPosition {
:
65 | func startSession() {
66 | sessionQueue.async {
67 | guard !self.session.isRunning else { return }
| `- warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
68 | self.session.startRunning()
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:7: warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public final class Broadcast<T> {
| `- note: generic class 'Broadcast' does not conform to the 'Sendable' protocol
12 | private(set) var observers = [Weak]()
13 |
:
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| `- warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:31: warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| |- warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Camera/Camera.swift:67:14: warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
9 | import AVFoundation
10 |
11 | public class Camera: NSObject {
| `- note: class 'Camera' does not conform to the 'Sendable' protocol
12 | var device: AVCaptureDevice? {
13 | switch cameraPosition {
:
65 | func startSession() {
66 | sessionQueue.async {
67 | guard !self.session.isRunning else { return }
| `- warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
68 | self.session.startRunning()
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:7: warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public final class Broadcast<T> {
| `- note: generic class 'Broadcast' does not conform to the 'Sendable' protocol
12 | private(set) var observers = [Weak]()
13 |
:
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| `- warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:31: warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| |- warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Camera/Camera.swift:67:14: warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
9 | import AVFoundation
10 |
11 | public class Camera: NSObject {
| `- note: class 'Camera' does not conform to the 'Sendable' protocol
12 | var device: AVCaptureDevice? {
13 | switch cameraPosition {
:
65 | func startSession() {
66 | sessionQueue.async {
67 | guard !self.session.isRunning else { return }
| `- warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
68 | self.session.startRunning()
69 | }
[150/158] Compiling PovioKitUtilities Camera.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:7: warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public final class Broadcast<T> {
| `- note: generic class 'Broadcast' does not conform to the 'Sendable' protocol
12 | private(set) var observers = [Weak]()
13 |
:
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| `- warning: capture of 'self' with non-sendable type 'Broadcast<T>' in a '@Sendable' closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Broadcast/Broadcast.swift:47:31: warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
45 | ) {
46 | queue.async {
47 | self.invoke(invocation: invocation)
| |- warning: capture of 'invocation' with non-sendable type '(T) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities/Camera/Camera.swift:67:14: warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
9 | import AVFoundation
10 |
11 | public class Camera: NSObject {
| `- note: class 'Camera' does not conform to the 'Sendable' protocol
12 | var device: AVCaptureDevice? {
13 | switch cameraPosition {
:
65 | func startSession() {
66 | sessionQueue.async {
67 | guard !self.session.isRunning else { return }
| `- warning: capture of 'self' with non-sendable type 'Camera' in a '@Sendable' closure
68 | self.session.startRunning()
69 | }
[159/170] Compiling PovioKitUIKit UIViewController+PovioKit.swift
[160/170] Compiling PovioKitUIKit GradientView.swift
[161/170] Compiling PovioKitUIKit UITableViewHeaderFooterView+PovioKit.swift
[162/170] Compiling PovioKitUIKit PaddingLabel.swift
[163/170] Compiling PovioKitUIKit UIView+PovioKit.swift
[164/170] Compiling PovioKitUIKit UITableView+PovioKit.swift
[165/171] Compiling PovioKitUIKit UITableViewCell+PovioKit.swift
[166/171] Compiling PovioKitUIKit UICollectionView+PovioKit.swift
[167/171] Compiling PovioKitUIKit UIProgressView+PovioKit.swift
[168/171] Emitting module PovioKitUIKit
[169/171] Compiling PovioKitUIKit DynamicCollectionCell.swift
[170/171] Compiling PovioKitUIKit UICollectionReusableView+PovioKit.swift
[171/171] Compiling PovioKitUIKit TextField.swift
Build complete! (18.80s)
Fetching https://github.com/Alamofire/Alamofire
[1/30137] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire from cache (2.59s)
Computing version for https://github.com/Alamofire/Alamofire
Computed https://github.com/Alamofire/Alamofire at 5.10.2 (3.09s)
Creating working copy for https://github.com/Alamofire/Alamofire
Working copy of https://github.com/Alamofire/Alamofire resolved at 5.10.2
Build complete.
{
"dependencies" : [
{
"identity" : "alamofire",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.0",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Alamofire/Alamofire"
}
],
"manifest_display_name" : "PovioKit",
"name" : "PovioKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "PovioKitCore",
"targets" : [
"PovioKitCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitUtilities",
"targets" : [
"PovioKitUtilities"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitNetworking",
"targets" : [
"PovioKitNetworking"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitPromise",
"targets" : [
"PovioKitPromise"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitUIKit",
"targets" : [
"PovioKitUIKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitSwiftUI",
"targets" : [
"PovioKitSwiftUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PovioKitAsync",
"targets" : [
"PovioKitAsync"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "Tests",
"module_type" : "SwiftTarget",
"name" : "Tests",
"path" : "Tests/Tests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/Tests/Resources/PovioKit.png",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Core/AppInfoTests.swift",
"Core/Extensions/Foundation/CollectionGroupedTests.swift",
"Core/Extensions/Foundation/CollectionTests.swift",
"Core/Extensions/Foundation/DataTests.swift",
"Core/Extensions/Foundation/DecodableDictionaryTests.swift",
"Core/Extensions/Foundation/DispatchTimeIntervalTests.swift",
"Core/Extensions/Foundation/DoubleTests.swift",
"Core/Extensions/Foundation/EncodableTests.swift",
"Core/Extensions/Foundation/OptionalTests.swift",
"Core/Extensions/Foundation/StringTests.swift",
"Core/Extensions/Foundation/URLTests.swift",
"Core/Extensions/MapKit/MKAnnotationViewTests.swift",
"Core/Extensions/UIKit/UIColorTests.swift",
"Core/Extensions/UIKit/UIDeviceTests.swift",
"Core/Extensions/UIKit/UIEdgeInsetsTests.swift",
"Core/Extensions/UIKit/UIImageTests.swift",
"Core/Extensions/UIKit/UIResponderTests.swift",
"Core/Extensions/UIKit/UIWindowTests.swift",
"Core/Utilities/App Version Validator/AppVersionValidatorTests.swift",
"Core/Utilities/AttributedStringBuilder/AttributedStringBuilderTests.swift",
"Core/Utilities/Broadcast/BroadcastTests.swift",
"Core/Utilities/BundleReader/BundleReaderTests.swift",
"Core/Utilities/DispatchTimer/DispatchTimerTests.swift",
"Core/Utilities/Exif/ExifTests.swift",
"Core/Utilities/Money/MoneyTests.swift",
"Core/Utilities/StartupService/StartupProcessServiceTests.swift",
"Core/Utilities/Throttler/ThrottlerTests.swift",
"Core/Utilities/UserDefaults/UserDefaultTests.swift",
"PromiseKit/EitherTests.swift",
"PromiseKit/PromiseTests.swift",
"UI/UIKit/Extensions/UICollectionReusableViewTests.swift",
"UI/UIKit/Extensions/UITableViewCellTests.swift",
"UI/UIKit/Extensions/UITableViewHeaderFooterViewTests.swift",
"UI/UIKit/Extensions/UIViewControllerTests.swift",
"UI/UIKit/Extensions/UIViewTests.swift",
"Utilities/XCConfigValue/MockBundleReader.swift",
"Utilities/XCConfigValue/XCConfigValueTests.swift"
],
"target_dependencies" : [
"PovioKitCore",
"PovioKitPromise",
"PovioKitNetworking",
"PovioKitUIKit",
"PovioKitSwiftUI",
"PovioKitUtilities",
"PovioKitAsync"
],
"type" : "test"
},
{
"c99name" : "PovioKitUtilities",
"module_type" : "SwiftTarget",
"name" : "PovioKitUtilities",
"path" : "Sources/Utilities",
"product_memberships" : [
"PovioKitUtilities",
"PovioKitUIKit"
],
"sources" : [
"AppVersionValidator/AppVersionValidator.swift",
"AttributedStringBuilder/AttributedStringBuilder.swift",
"AttributedStringBuilder/UILabel+BuilderCompatible.swift",
"AttributedStringBuilder/UITextField+BuilderCompatible.swift",
"Broadcast/Broadcast.swift",
"BundleReader/BundleReader.swift",
"Camera/Camera+PovioKit.swift",
"Camera/Camera.swift",
"Camera/CameraService.swift",
"Camera/PhotoCamera.swift",
"Camera/QRCodeScanner.swift",
"ColorInterpolator/ColorInterpolator.swift",
"Delegated/Delegated.swift",
"DispatchTimer/DispatchTimer.swift",
"Exif/Exif.swift",
"Exif/ExifError.swift",
"Exif/ExifImageSource.swift",
"ImageSource/ImageSource.swift",
"InAppPurchase/InAppPurchaseError.swift",
"InAppPurchase/InAppPurchaseService.swift",
"MediaPlayer/AudioPlayer.swift",
"MediaPlayer/MediaPlayer+Models.swift",
"MediaPlayer/MediaPlayer.swift",
"MediaPlayer/MediaStream.swift",
"Money/Money+Currency.swift",
"Money/Money+Defaults.swift",
"Money/Money+Extensions.swift",
"Money/Money.swift",
"PropertyWrapper/UserDefault.swift",
"PropertyWrapper/XCConfigValue.swift",
"StartupService/StartupProcess.swift",
"StartupService/StartupProcessService.swift",
"Throttler/Throttler.swift"
],
"target_dependencies" : [
"PovioKitCore"
],
"type" : "library"
},
{
"c99name" : "PovioKitUIKit",
"module_type" : "SwiftTarget",
"name" : "PovioKitUIKit",
"path" : "Sources/UI/UIKit",
"product_memberships" : [
"PovioKitUIKit"
],
"sources" : [
"DynamicCollectionCell/DynamicCollectionCell.swift",
"Extensions/UICollectionReusableView+PovioKit.swift",
"Extensions/UICollectionView+PovioKit.swift",
"Extensions/UIProgressView+PovioKit.swift",
"Extensions/UITableView+PovioKit.swift",
"Extensions/UITableViewCell+PovioKit.swift",
"Extensions/UITableViewHeaderFooterView+PovioKit.swift",
"Extensions/UIView+PovioKit.swift",
"Extensions/UIViewController+PovioKit.swift",
"GradientView/GradientView.swift",
"PaddingLabel/PaddingLabel.swift",
"TextField/TextField.swift"
],
"target_dependencies" : [
"PovioKitCore",
"PovioKitUtilities"
],
"type" : "library"
},
{
"c99name" : "PovioKitSwiftUI",
"module_type" : "SwiftTarget",
"name" : "PovioKitSwiftUI",
"path" : "Sources/UI/SwiftUI",
"product_memberships" : [
"PovioKitSwiftUI"
],
"sources" : [
"Extensions/AnyTransition+PovioKit.swift",
"Extensions/Color+PovioKit.swift",
"Extensions/Text+PovioKit.swift",
"View Modifiers/MaterialBlurBackgroundModifier.swift",
"View Modifiers/MeasureSizeModifier.swift",
"View Modifiers/OnFirstAppearModifier.swift",
"View Modifiers/PhotoPickerModifier.swift",
"View Modifiers/PinchToZoomModifier.swift",
"View Modifiers/SquaredModifier.swift",
"View Modifiers/TextFieldLimitModifer.swift",
"Views/AnimatedImage/AnimatedImage.swift",
"Views/LinearProgressStyle/LinearProgressStyle.swift",
"Views/MaterialBlurView/MaterialBlurView.swift",
"Views/PhotoPickerView/PhotoPickerView.swift",
"Views/RemoteImage/RemoteImage.swift",
"Views/ScrollViewWithOffset/ScrollViewWithOffset.swift",
"Views/SimpleColorPicker/SimpleColorPicker.swift"
],
"target_dependencies" : [
"PovioKitCore"
],
"type" : "library"
},
{
"c99name" : "PovioKitPromise",
"module_type" : "SwiftTarget",
"name" : "PovioKitPromise",
"path" : "Sources/PromiseKit",
"product_memberships" : [
"PovioKitNetworking",
"PovioKitPromise"
],
"sources" : [
"After.swift",
"All.swift",
"Any.swift",
"ConcurrentDispatch.swift",
"Either.swift",
"Future.swift",
"Poll.swift",
"Promise.swift",
"Race.swift",
"Sequence.swift",
"Wrap.swift"
],
"type" : "library"
},
{
"c99name" : "PovioKitNetworking",
"module_type" : "SwiftTarget",
"name" : "PovioKitNetworking",
"path" : "Sources/Networking",
"product_dependencies" : [
"Alamofire"
],
"product_memberships" : [
"PovioKitNetworking"
],
"sources" : [
"AlamofireNetworkClient/AlamofireConsoleLogger.swift",
"AlamofireNetworkClient/AlamofireNetworkClient.swift",
"AlamofireNetworkClient/DomainConvertible.swift",
"AlamofireNetworkClient/Extensions/ParameterEncoder+PovioKit.swift",
"AlamofireNetworkClient/Extensions/URLEncodedFormParameterEncoder+PovioKit.swift",
"AlamofireNetworkClient/OAuth/OAuthCredentials.swift"
],
"target_dependencies" : [
"PovioKitPromise"
],
"type" : "library"
},
{
"c99name" : "PovioKitCore",
"module_type" : "SwiftTarget",
"name" : "PovioKitCore",
"path" : "Sources/Core",
"product_memberships" : [
"PovioKitCore",
"PovioKitUtilities",
"PovioKitUIKit",
"PovioKitSwiftUI"
],
"sources" : [
"AppInfo.swift",
"Extensions/AppKit/NSView+PovioKit.swift",
"Extensions/AppKit/NSWindow+PovioKit.swift",
"Extensions/Foundation/Collection+PovioKit.swift",
"Extensions/Foundation/Data+PovioKit.swift",
"Extensions/Foundation/Date+PovioKit.swift",
"Extensions/Foundation/DateFormatter+PovioKit.swift",
"Extensions/Foundation/DecodableDictionary+PovioKit.swift",
"Extensions/Foundation/DispatchTimeInterval+PovioKit.swift",
"Extensions/Foundation/Double+PovioKit.swift",
"Extensions/Foundation/Encodable+PovioKit.swift",
"Extensions/Foundation/Optional+PovioKit.swift",
"Extensions/Foundation/Result+PovioKit.swift",
"Extensions/Foundation/String+PovioKit.swift",
"Extensions/Foundation/URL+PovioKit.swift",
"Extensions/MapKit/MKAnnotationView+PovioKit.swift",
"Extensions/MapKit/MKCircle+PovioKit.swift",
"Extensions/MapKit/MKMapView+PovioKit.swift",
"Extensions/MapKit/MKPolygon+PovioKit.swift",
"Extensions/Other/SKStoreReviewController+PovioKit.swift",
"Extensions/SwiftUI/View+PovioKit.swift",
"Extensions/UIKit/CGSize+PovioKit.swift",
"Extensions/UIKit/UIColor+PovioKit.swift",
"Extensions/UIKit/UIDevice+PovioKit.swift",
"Extensions/UIKit/UIEdgeInsets+PovioKit.swift",
"Extensions/UIKit/UIImage+Kingfisher.swift",
"Extensions/UIKit/UIImage+PovioKit.swift",
"Extensions/UIKit/UIResponder+PovioKit.swift",
"Extensions/UIKit/UIWindow+PovioKit.swift",
"Logger/Logger.swift"
],
"type" : "library"
},
{
"c99name" : "PovioKitAsync",
"module_type" : "SwiftTarget",
"name" : "PovioKitAsync",
"path" : "Sources/Async",
"product_memberships" : [
"PovioKitAsync"
],
"sources" : [
"AsyncThrottleSequence.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.