Build Information
Failed to build RedUx, reference v1.0.0 (69f6e0
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 14:45:16 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/reddavis/RedUx.git
Reference: v1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/reddavis/RedUx
* tag v1.0.0 -> FETCH_HEAD
HEAD is now at 69f6e07 fix: no compiler error on <Xcode 13.4 (#36)
Cloned https://github.com/reddavis/RedUx.git
Revision (git rev-parse @):
69f6e076e5dbe1ebc66154d54fdab90f16d310ec
SUCCESS checkout https://github.com/reddavis/RedUx.git at v1.0.0
Fetching https://github.com/reddavis/Asynchrone
[1/4315] Fetching asynchrone
Fetched https://github.com/reddavis/Asynchrone from cache (2.34s)
Computing version for https://github.com/reddavis/Asynchrone
Computed https://github.com/reddavis/Asynchrone at 0.22.0 (0.67s)
Creating working copy for https://github.com/reddavis/Asynchrone
Working copy of https://github.com/reddavis/Asynchrone resolved at 0.22.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "redux",
"name": "RedUx",
"url": "https://github.com/reddavis/RedUx.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/RedUx",
"dependencies": [
{
"identity": "asynchrone",
"name": "Asynchrone",
"url": "https://github.com/reddavis/Asynchrone",
"version": "0.22.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Asynchrone",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/reddavis/RedUx.git
[1/1522] Fetching redux
Fetched https://github.com/reddavis/RedUx.git from cache (1.19s)
Fetching https://github.com/reddavis/Asynchrone from cache
Fetched https://github.com/reddavis/Asynchrone from cache (0.47s)
Computing version for https://github.com/reddavis/Asynchrone
Computed https://github.com/reddavis/Asynchrone at 0.22.0 (0.02s)
Creating working copy for https://github.com/reddavis/Asynchrone
Working copy of https://github.com/reddavis/Asynchrone resolved at 0.22.0
Creating working copy for https://github.com/reddavis/RedUx.git
Working copy of https://github.com/reddavis/RedUx.git resolved at v1.0.0 (69f6e07)
warning: '.resolve-product-dependencies': dependency 'redux' is not used by any target
Found 1 product dependencies
- Asynchrone
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/reddavis/RedUx.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/34] Emitting module Asynchrone
[5/37] Compiling Asynchrone RemoveDuplicatesAsyncSequence.swift
[6/37] Compiling Asynchrone ReplaceErrorAsyncSequence.swift
[7/37] Compiling Asynchrone SequenceAsyncSequence.swift
[8/37] Compiling Asynchrone CombineLatest3AsyncSequence.swift
[9/37] Compiling Asynchrone CombineLatestAsyncSequence.swift
[10/37] Compiling Asynchrone CurrentElementAsyncSequence.swift
[11/37] Compiling Asynchrone TimerAsyncSequence.swift
[12/37] Compiling Asynchrone Zip3AsyncSequence.swift
[13/37] Compiling Asynchrone ZipAsyncSequence.swift
[14/37] Compiling Asynchrone DebounceAsyncSequence.swift
[15/37] Compiling Asynchrone DelayAsyncSequence.swift
[16/37] Compiling Asynchrone Empty.swift
[17/37] Compiling Asynchrone AnyThrowingAsyncSequenceable.swift
[18/37] Compiling Asynchrone AsyncSequenceCompletion.swift
[19/37] Compiling Asynchrone CatchErrorAsyncSequence.swift
[20/37] Compiling Asynchrone ChainAsyncSequenceable.swift
[21/37] Compiling Asynchrone SharedAsyncSequence.swift
[22/37] Compiling Asynchrone ThrottleAsyncSequence.swift
[23/37] Compiling Asynchrone ThrowingPassthroughAsyncSequence.swift
[24/37] Compiling Asynchrone Fail.swift
[25/37] Compiling Asynchrone Just.swift
[26/37] Compiling Asynchrone Merge3AsyncSequence.swift
[27/37] Compiling Asynchrone AsyncThrowingStream+Extension.swift
[28/37] Compiling Asynchrone Task+Extension.swift
[29/37] Compiling Asynchrone TimeInterval+Extension.swift
[30/37] Compiling Asynchrone AnyAsyncSequenceable.swift
[31/37] Compiling Asynchrone MergeAsyncSequence.swift
[32/37] Compiling Asynchrone NotificationCenterAsyncSequence.swift
[33/37] Compiling Asynchrone PassthroughAsyncSequence.swift
[34/37] Compiling Asynchrone ErrorMechanism.swift
[35/37] Compiling Asynchrone RethrowingAccessor.swift
[36/37] Compiling Asynchrone AsyncSequence+Extension.swift
[37/37] Compiling Asynchrone AsyncStream+Extension.swift
[38/47] Compiling RedUx ValueStatus.swift
[39/48] Compiling RedUx Reducer.swift
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Reducer.swift:81:17: warning: capture of 'setAppEvent' with non-sendable type '(Event) -> AppEvent?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 |
80 | return effect.compactMap {
81 | setAppEvent($0)
| |- warning: capture of 'setAppEvent' with non-sendable type '(Event) -> AppEvent?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
82 | }
83 | .eraseToEffect(id: effect.id)
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Reducer.swift:119:17: warning: capture of 'setAppEvent' with non-sendable type '(Event) -> AppEvent?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 | guard let effect = effect else { return .none }
118 | return effect.compactMap { event in
119 | setAppEvent(event)
| |- warning: capture of 'setAppEvent' with non-sendable type '(Event) -> AppEvent?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
120 | }.eraseToEffect(id: effect.id)
121 | }
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Reducer.swift:154:22: warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
152 | let eventStreamB = eventStreamB {
153 | return eventStreamA
154 | .merge(with: eventStreamB)
| `- warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
155 | .eraseToEffect()
156 | }
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:4:15: note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Reducer.swift:155:22: warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
153 | return eventStreamA
154 | .merge(with: eventStreamB)
155 | .eraseToEffect()
| `- warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
156 | }
157 |
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:4:15: note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
[40/48] Compiling RedUx ViewModel.swift
/Users/admin/builder/spi-builder-workspace/RedUx/Source/ViewModel.swift:65:35: warning: capture of 'state' with non-sendable type 'RemoveDuplicatesAsyncSequence<AnyAsyncSequenceable<State>>.Element' (aka 'State') in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 | @MainActor
42 | @dynamicMemberLookup
43 | public final class ViewModel<State: Equatable, Event>: ObservableObject {
| `- note: consider making generic parameter 'RemoveDuplicatesAsyncSequence<AnyAsyncSequenceable<State>>.Element' (aka 'State') conform to the 'Sendable' protocol
44 | /// The state of the store.
45 | @Published public var state: State
:
63 | .sink(priority: .userInitiated) { [weak self] state in
64 | await MainActor.run { [weak self] in
65 | self?.state = state
| `- warning: capture of 'state' with non-sendable type 'RemoveDuplicatesAsyncSequence<AnyAsyncSequenceable<State>>.Element' (aka 'State') in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/RedUx/Source/ViewModel.swift:65:35: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
63 | .sink(priority: .userInitiated) { [weak self] state in
64 | await MainActor.run { [weak self] in
65 | self?.state = state
| |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
66 | }
67 | }
[41/48] Compiling RedUx ActionStatus.swift
[42/48] Compiling RedUx Store.swift
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:76:50: warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
8 | /// different components of the app.
9 | @MainActor
10 | public final class Store<State, Event, Environment> where State: Equatable {
| `- note: consider making generic parameter 'State' conform to the 'Sendable' protocol
11 | /// The state of the store.
12 | public private(set) var state: State {
:
74 | ) {
75 | self.state = state
76 | self.stateSequence = self._stateSequence.shared().eraseToAnyAsyncSequenceable()
| `- warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | self.reducer = reducer
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:76:59: warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
8 | /// different components of the app.
9 | @MainActor
10 | public final class Store<State, Event, Environment> where State: Equatable {
| `- note: consider making generic parameter 'State' conform to the 'Sendable' protocol
11 | /// The state of the store.
12 | public private(set) var state: State {
:
74 | ) {
75 | self.state = state
76 | self.stateSequence = self._stateSequence.shared().eraseToAnyAsyncSequenceable()
| `- warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | self.reducer = reducer
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:76:59: warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
8 | /// different components of the app.
9 | @MainActor
10 | public final class Store<State, Event, Environment> where State: Equatable {
| `- note: consider making generic parameter 'State' conform to the 'Sendable' protocol
11 | /// The state of the store.
12 | public private(set) var state: State {
:
74 | ) {
75 | self.state = state
76 | self.stateSequence = self._stateSequence.shared().eraseToAnyAsyncSequenceable()
| `- warning: type 'State' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
77 |
78 | self.reducer = reducer
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:116:35: warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | }
115 |
116 | let task = effect.sink(
| `- warning: type 'Effect<Event>' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
117 | receiveValue: { [weak self] in self?.send($0) },
118 | receiveCompletion: { [weak self] _ in
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:4:15: note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:120:33: warning: capture of 'effect' with non-sendable type 'Effect<Event>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
118 | receiveCompletion: { [weak self] _ in
119 | await self?.effectManager.taskComplete(
120 | id: effect.id,
| `- warning: capture of 'effect' with non-sendable type 'Effect<Event>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 | uuid: effect.uuid
122 | )
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:4:15: note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic struct 'Effect' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:117:52: error: expression is 'async' but is not marked with 'await'
115 |
116 | let task = effect.sink(
117 | receiveValue: { [weak self] in self?.send($0) },
| |- error: expression is 'async' but is not marked with 'await'
| `- note: calls to instance method 'send' from outside of its actor context are implicitly asynchronous
118 | receiveCompletion: { [weak self] _ in
119 | await self?.effectManager.taskComplete(
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:163:38: warning: capture of 'toScopedState' with non-sendable type '(State) -> ScopedState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 | .removeDuplicates()
162 | .sink(priority: .high) { [weak scopedStore] in
163 | scopedStore?.state = toScopedState($0)
| |- warning: capture of 'toScopedState' with non-sendable type '(State) -> ScopedState' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
164 | }
165 |
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Store.swift:163:30: error: main actor-isolated property 'state' can not be mutated from a Sendable closure
10 | public final class Store<State, Event, Environment> where State: Equatable {
11 | /// The state of the store.
12 | public private(set) var state: State {
| `- note: mutation of this property is only permitted within the actor
13 | didSet {
14 | self._stateSequence.yield(self.state)
:
161 | .removeDuplicates()
162 | .sink(priority: .high) { [weak scopedStore] in
163 | scopedStore?.state = toScopedState($0)
| `- error: main actor-isolated property 'state' can not be mutated from a Sendable closure
164 | }
165 |
[43/48] Compiling RedUx EffectManager.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[44/48] Compiling RedUx RedUxable.swift
[45/48] Emitting module RedUx
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:96:1: error: type 'Effect<Event>' does not conform to protocol 'AsyncSequence'
94 | // MARK: AsyncSequence
95 |
96 | extension Effect: AsyncSequence {
| `- error: type 'Effect<Event>' does not conform to protocol 'AsyncSequence'
97 | public typealias Element = Event
98 | public func makeAsyncIterator() -> AnyAsyncSequenceable<Element> {
| `- note: candidate would match and infer 'AsyncIterator' = 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>') if 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>') conformed to 'AsyncIteratorProtocol'
99 | self.sequence.makeAsyncIterator()
100 | }
_Concurrency.AsyncSequence:3:20: note: unable to infer associated type 'AsyncIterator' for protocol 'AsyncSequence'
1 | @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
2 | public protocol AsyncSequence<Element, Failure> {
3 | associatedtype AsyncIterator : AsyncIteratorProtocol
| `- note: unable to infer associated type 'AsyncIterator' for protocol 'AsyncSequence'
4 | associatedtype Element where Self.Element == Self.AsyncIterator.Element
5 | @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
[46/48] Compiling RedUx Effect.swift
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:96:1: error: type 'Effect<Event>' does not conform to protocol 'AsyncSequence'
94 | // MARK: AsyncSequence
95 |
96 | extension Effect: AsyncSequence {
| `- error: type 'Effect<Event>' does not conform to protocol 'AsyncSequence'
97 | public typealias Element = Event
98 | public func makeAsyncIterator() -> AnyAsyncSequenceable<Element> {
| `- note: candidate would match and infer 'AsyncIterator' = 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>') if 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>') conformed to 'AsyncIteratorProtocol'
99 | self.sequence.makeAsyncIterator()
100 | }
_Concurrency.AsyncSequence:3:20: note: unable to infer associated type 'AsyncIterator' for protocol 'AsyncSequence'
1 | @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
2 | public protocol AsyncSequence<Element, Failure> {
3 | associatedtype AsyncIterator : AsyncIteratorProtocol
| `- note: unable to infer associated type 'AsyncIterator' for protocol 'AsyncSequence'
4 | associatedtype Element where Self.Element == Self.AsyncIterator.Element
5 | @available(macOS 15.0, iOS 18.0, watchOS 11.0, tvOS 18.0, visionOS 2.0, *)
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:38:10: warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
:
36 | $0.finish(with: event)
37 | }
38 | .eraseToAnyAsyncSequenceable()
| `- warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:70:10: warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
:
68 | await task.value
69 | }
70 | .eraseToAnyAsyncSequenceable()
| `- warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:80:14: warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct Effect<Event> {
| `- note: consider making generic parameter 'Event' conform to the 'Sendable' protocol
5 | /// The ID of the effect.
6 | let id: String
:
78 | self.isCancellation = false
79 | self.sequence = Just(event)
80 | .eraseToAnyAsyncSequenceable()
| `- warning: type 'Event' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | }
82 |
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:89:34: warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | }
82 |
83 | init<T>(
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
84 | id: String = UUID().uuidString,
85 | sequence: T,
:
87 | ) where T: AsyncSequence, T.Element == Element {
88 | self.id = id
89 | self.sequence = sequence.eraseToAnyAsyncSequenceable()
| `- warning: type 'T' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
90 | self.isCancellation = isCancellation
91 | }
/Users/admin/builder/spi-builder-workspace/RedUx/Source/Effect.swift:99:23: error: cannot convert return expression of type 'AnyAsyncSequenceable<Event>.Iterator' to return type 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>')
97 | public typealias Element = Event
98 | public func makeAsyncIterator() -> AnyAsyncSequenceable<Element> {
99 | self.sequence.makeAsyncIterator()
| `- error: cannot convert return expression of type 'AnyAsyncSequenceable<Event>.Iterator' to return type 'AnyAsyncSequenceable<Effect<Event>.Element>' (aka 'AnyAsyncSequenceable<Event>')
100 | }
101 | }
[47/48] Compiling RedUx UnwrapStore.swift
[48/48] Compiling RedUx View+Extension.swift
BUILD FAILURE 6.0 macosSpm