Build Information
Successful build of swift-composable-architecture, reference main (bf66bd), with Swift 6.4 for macOS (SPM) on 9 Nov 2026 14:35:19 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64Build Log
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
43 | operator.
44 |
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:74:45-74:52
72 | @Step {
73 | At the very bottom of the view use the `sheet(item:)` modifier by deriving a binding to the
74 + `SyncUpForm` domain using ``SwiftUI/Binding/scope(_:action:fileID:filePath:line:column:)``.
| ╰─suggestion: Replace 'Binding' with 'FocusedBinding'
75 |
76 | @Code(name: "SyncUpDetail.swift", file: EditingAndDeletingSyncUp-01-code-0006.swift)
warning: 'ifLet(_:action:then:fileID:line:)-7s8h2' doesn't exist at '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:189:42-189:81
187 | @Step {
188 | Handle the `.alert` case in the reducer, and use the
189 + ``ComposableArchitecture/Reducer/ifLet(_:action:then:fileID:line:)-7s8h2`` operator
| ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:then:fileID:filePath:line:column:)'
| ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifCaseLet(_:action:then:fileID:filePath:line:column:)'
| ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:destination:fileID:filePath:line:column:)'
| ├─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:fileID:filePath:line:column:)'
| ╰─suggestion: Replace 'ifLet(_:action:then:fileID:line:)-7s8h2' with 'ifLet(_:action:)'
190 | again to integrate the alert's logic into the `SyncUpDetail` reducer.
191 |
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:309:39-309:97
307 | asynchronous function, and therefore it cannot be invoked directly in the reducer. It can
308 | only be invoked inside an effect, and so we must use the
309 + ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` effect, which
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
310 | gives us an asynchronous context to execute the work in, as well as a handle on
311 | ``ComposableArchitecture/Send`` for sending actions back into the system if needed.
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:323:75-323:79
321 |
322 | @Step {
323 + In the `SyncUpDetailView`, go to the bottom and use the ``SwiftUI/View/alert(_:)`` view
324 | modifier that comes with the library. This will cause an alert to be presented when the
325 | `alert` state is populated.
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:479:30-479:34
477 |
478 | @Step {
479 + Update the ``SwiftUI/View/alert(_:)`` and `.sheet(item:)` modifiers at the bottom of the
480 | view so that the `$store.scope` further singles out the case for driving navigation.
481 |
warning: 'Destination-and-path-reducers' is not an anchor of '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/SyncUpDetailNavigation.tutorial:180:18-180:47
178 | a child store for each case of the enum.
179 |
180 + See <doc:Reducer#Destination-and-path-reducers> for more information on this tool.
181 |
182 | @Code(name: "App.swift", file: SyncUpDetailNavigation-02-code-0005.swift)
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:37:39-37:97
35 | In the `onAppear` action we want to start up a long-living effect that represents a timer.
36 | Timers can be easily handled using an asynchronous context, and the
37 + ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` helper is
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
38 | what gives us an asynchronous context to work in.
39 |
warning: '3ux09' isn't a disambiguation for 'ifLet(_:action:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:240:94-240:100
238 | }
239 | @Step {
240 + Use the ``ComposableArchitecture/Reducer/ifLet(_:action:fileID:filePath:line:column:)-3ux09``
| ├─suggestion: Replace '3ux09' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState : _EphemeralState'
| ├─suggestion: Replace '3ux09' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState : _EphemeralState'
| ├─suggestion: Replace '-3ux09' with '->_IfLetReducer<Self,EmptyReducer<WrappedState,WrappedAction>>' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfLetReducer<Self, EmptyReducer<WrappedState, WrappedAction>> where WrappedState : _EphemeralState'
| ╰─suggestion: Replace '3ux09' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState : _EphemeralState'
241 | reducer method to integrate the alert's logic in your reducer.
242 |
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:246:33-246:37
244 | }
245 | @Step {
246 + Use SwiftUI's ``SwiftUI/View/alert(_:)`` view modifier to drive the presentation and
247 | dismissal of the alert from the store.
248 |
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:374:102-374:108
372 |
373 | @Step {
374 + Use the ``ComposableArchitecture/TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic``
| ├─suggestion: Replace '53wic' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
375 | method to assert that the store receives a `timerTick` action, and that when that action is
376 | received the `secondsElapsed` state increments to 1.
warning: Can't resolve 'Dependencies'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/ImplementingTimer.tutorial:474:49-474:86
472 | we mess up this logic we would have a test in place to keep us in check.
473 |
474 + To fix the test we need to override the ``Dependencies/DependencyValues/dismiss`` dependency.
475 |
476 | @Step {
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> Tutorials/MeetTheComposableArchitecture/01-Essentials/02-AddingSideEffects/01-02-AddingSideEffects.tutorial:110:41-110:99
108 | @Step {
109 | The primary way one constructs an ``ComposableArchitecture/Effect`` is via the static method
110 + ``ComposableArchitecture/Effect/run(priority:operation:catch:fileID:filePath:line:column:)``. This provides
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
111 | you with an asynchronous context to perform any kind of work you want, as well as a handle
112 | (`send`) for sending actions back into the system.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial:59:95-59:101
57 | button.
58 |
59 + > Note: The ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` method on
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
60 | the test store is async because most features involve asynchronous side effects, and the
61 | test store uses the async context to track those effects.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/MeetTheComposableArchitecture/01-Essentials/03-TestingYourFeatures/01-03-TestingYourFeature.tutorial:157:92-157:98
155 | like to assert that after some time a `timerTick` action is sent into the system and causes
156 | the `count` to increment. This can be done by using the
157 + ``ComposableArchitecture/TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` method on
| ├─suggestion: Replace '53wic' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
158 | test store to assert that you expect to receive an action, and describe how state mutates
159 | upon receiving that action.
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial:105:96-105:102
103 | ``ComposableArchitecture/Presents()`` and ``ComposableArchitecture/PresentationAction``
104 | to integrate the domains, and the reducer operator
105 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` to
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
106 | integrate the reducers.
107 | }
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/01-YourFirstPresentation/02-01-YourFirstPresentation.tutorial:147:98-147:104
145 | @Step {
146 | Integrate the reducers together by making use of the
147 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
148 | reducer operator.
149 |
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:14:96-14:102
12 | that we used last section, such as ``ComposableArchitecture/Presents()``,
13 | ``ComposableArchitecture/PresentationAction`` and
14 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``, all work
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
15 | for presenting alerts from optional state too.
16 | }
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:59:98-59:104
57 | @Step {
58 | Integrate the alert's logic into the `ContactsFeature` by making another use of the
59 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` operator.
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
60 |
61 | @Code(name: "ContactsFeatures.swift", file: 02-02-01-code-0004.swift)
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:73:17-73:21
71 | That's all it takes to integrate the alert it the `ContactsFeature` and implement all of its
72 | logic. Next we need to integrate the alert into the view. The library ships a special
73 + ``SwiftUI/View/alert(store:)`` view modifier that is tuned specifically for
74 | ``ComposableArchitecture/Store``s.
75 |
warning: 'View' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/02-MultipleDestinations/02-02-MultipleDestinations.tutorial:77:27-77:31
75 |
76 | @Step {
77 + Add the ``SwiftUI/View/alert(_:)`` view modifier to the `ContactsView`, and hand it a
78 | store that is scoped to the alert domain.
79 |
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/MeetTheComposableArchitecture/02-Navigation/04-NavigationStacks/02-04-NavigationStacks.tutorial:116:100-116:106
114 | @Step {
115 | At the very end of the reducer use the
116 + ``ComposableArchitecture/Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb`` operator
| ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
117 | to integrate the `ContactDetailFeature` into the stack of the `ContactsFeature`.
118 |
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect/run(priority:name:operation:catch:fileID:filePath:line:column:)'
--> ../Effect.swift:75:33-75:91
73 | /// See ``Send`` for more information on how to use the `send` argument passed to `run`'s closure.
74 | ///
75 + /// The closure provided to ``run(priority:operation:catch:fileID:filePath:line:column:)`` is
76 | /// allowed to throw, but any non-cancellation errors thrown will cause a runtime warning when run
77 | /// in the simulator or on a device, and will cause a test failure in tests. To catch
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> ../Effect.swift:153:14-153:72
151 |
152 | /// A type that can send actions back into the system when used from
153 + /// ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)``.
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
154 | ///
155 | /// This type implements [`callAsFunction`][callAsFunction] so that you invoke it as a function
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> ../Effect.swift:175:18-175:76
173 | /// ```
174 | ///
175 + /// See ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` for more information on how to
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
176 | /// use this value to construct effects that can emit any number of times in an asynchronous
177 | /// context.
warning: 'Reducers' doesn't exist at '/ComposableArchitecture/_SynthesizedConformance'
--> ../Macros.swift:50:14-50:22
48 | /// the ``Reducer()`` macro.
49 | ///
50 + /// See <doc:Reducers#Synthesizing-protocol-conformances-on-State-and-Action> for more information.
51 | @_documentation(visibility: public)
52 | @available(*, deprecated, message: "Define your conformance using an extension, instead")
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:118:21-118:28
116 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
117 | ///
118 + /// See ``SwiftUI/Binding/scope(_:action:fileID:filePath:line:column:)`` defined on `Binding` for
| ╰─suggestion: Replace 'Binding' with 'FocusedBinding'
119 | /// more information.
120 | @preconcurrency @MainActor
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:154:21-154:28
152 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
153 | ///
154 + /// See ``SwiftUI/Binding/scope(_:action:fileID:filePath:line:column:)`` defined on `Binding` for
| ╰─suggestion: Replace 'Binding' with 'FocusedBinding'
155 | /// more information.
156 | public func scope<State: ObservableState, Action, ElementState, ElementAction>(
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:184:21-184:28
182 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
183 | ///
184 + /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
| ╰─suggestion: Replace 'Binding' with 'FocusedBinding'
185 | /// information.
186 | @preconcurrency @MainActor
warning: Parameter 'shouldNotifyObservers' is missing documentation
--> ../Observation/ObservationStateRegistrar.swift:47:34-47:34
45 | /// - newValue: The new value to mutate with.
46 | /// - isIdentityEqual: A comparison function that determines whether two values have the
47 + /// same identity or not.
| ╰─suggestion: Document 'shouldNotifyObservers' parameter
48 | @inlinable
49 | public func mutate<Subject: Observable, Member, Value>(
warning: 'didModify(_:keyPath:_:_:_:)-34nhq' doesn't exist at '/ComposableArchitecture/ObservationStateRegistrar/didModify(_:keyPath:_:_:_:_:)'
--> ../Observation/ObservationStateRegistrar.swift:98:11-98:44
96 | ///
97 | /// If the identity of the value changed between ``willModify(_:keyPath:_:)-29op6`` and
98 + /// ``didModify(_:keyPath:_:_:_:)-34nhq``, observers are notified.
99 | @inlinable
100 | public func didModify<Subject: Observable, Member>(
warning: '6zye8' isn't a disambiguation for 'forEach(_:action:element:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/ForEachReducer.swift:6:69-6:75
4 | ///
5 | /// Use this type for modeling a feature's domain that needs to present child features using
6 + /// ``Reducer/forEach(_:action:element:fileID:filePath:line:column:)-6zye8``.
| ├─suggestion: Replace '6zye8' with '(_,AnyCasePath<Action,(ID,ElementAction)>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<State, IdentifiedArray<ID, ElementState>>, action toElementAction: AnyCasePath<Action, (ID, ElementAction)>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
| ╰─suggestion: Replace '6zye8' with '(_,CaseKeyPath<Action,IdentifiedAction<ID,ElementAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<State, IdentifiedArray<ID, ElementState>>, action toElementAction: CaseKeyPath<Action, IdentifiedAction<ID, ElementAction>>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
7 | public enum IdentifiedAction<ID: Hashable & Sendable, Action>: CasePathable, CasePathIterable {
8 | /// An action sent to the element at a given identifier.
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:43:77-43:83
41 | /// dialogs.
42 | ///
43 + /// See ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for a more advanced operator suited
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
44 | /// to navigation.
45 | ///
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '2r2pn' isn't a disambiguation for 'ifLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/IfLetReducer.swift:80:88-80:94
78 | }
79 |
80 + /// A special overload of ``Reducer/ifLet(_:action:then:fileID:filePath:line:column:)-2r2pn``
| ├─suggestion: Replace '2r2pn' with '(_,AnyCasePath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: AnyCasePath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<State, WrappedState?>, action toWrappedAction: CaseKeyPath<Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
81 | /// for alerts and confirmation dialogs that does not require a child reducer.
82 | @inlinable
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:7:77-7:83
5 | ///
6 | /// Use this property wrapper for modeling a feature's domain that needs to present a child feature
7 + /// using ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``.
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
8 | ///
9 | /// For example, if you have a `ChildFeature` reducer that encapsulates the logic and behavior for a
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:26:95-26:101
24 | /// For the most part your feature's logic can deal with `child` as a plain optional value, but
25 | /// there are times you need to know that you are secretly dealing with `PresentationState`. For
26 + /// example, when using the ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` reducer operator to
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
27 | /// integrate the parent and child features together, you will construct a key path to the projected
28 | /// value `\.$child`:
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:210:85-210:91
208 | ///
209 | /// Use this wrapper type for modeling a feature's domain that needs to present a child
210 + /// feature using ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``.
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
211 | ///
212 | /// For example, if you have a `ChildFeature` reducer that encapsulates the logic and behavior
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:420:95-420:101
418 | }
419 |
420 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
421 | /// and confirmation dialogs that does not require a child reducer.
422 | @warn_unqualified_access
warning: '88vdx' isn't a disambiguation for 'init(state:action:child:)' at '/ComposableArchitecture/Scope'
--> ../Reducer/Reducers/Scope.swift:33:32-33:38
31 | ///
32 | /// A parent reducer with a domain that holds onto the child domain can use
33 + /// ``init(state:action:child:)-88vdx`` to embed the child reducer in its
| ├─suggestion: Replace '88vdx' with '(_,AnyCasePath<ParentAction,ChildAction>,_)' for 'init<ChildState, ChildAction>(state toChildState: WritableKeyPath<ParentState, ChildState>, action toChildAction: AnyCasePath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child) where ChildState == Child.State, ChildAction == Child.Action'
| ╰─suggestion: Replace '88vdx' with '(_,CaseKeyPath<ParentAction,ChildAction>,_)' for 'init<ChildState, ChildAction>(state toChildState: WritableKeyPath<ParentState, ChildState>, action toChildAction: CaseKeyPath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child) where ChildState == Child.State, ChildAction == Child.Action'
34 | /// ``Reducer/body-swift.property``:
35 | ///
warning: '9g44g' isn't a disambiguation for 'init(state:action:child:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
--> ../Reducer/Reducers/Scope.swift:63:77-63:83
61 | ///
62 | /// The ``Scope`` reducer also works when state is modeled as an enum, not just a struct. In that
63 + /// case you can use ``init(state:action:child:fileID:filePath:line:column:)-9g44g`` to specify a
| ├─suggestion: Replace '9g44g' with '(AnyCasePath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: AnyCasePath<ParentState, ChildState>, action toChildAction: AnyCasePath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
| ╰─suggestion: Replace '9g44g' with '(CaseKeyPath<ParentState,ChildState>,_,_,_,_,_,_)' for 'init<ChildState, ChildAction>(state toChildState: CaseKeyPath<ParentState, ChildState>, action toChildAction: CaseKeyPath<ParentAction, ChildAction>, @ReducerBuilder<ChildState, ChildAction> child: () -> Child, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) where ChildState == Child.State, ChildAction == Child.Action'
64 | /// case path that identifies the case of state you want to scope to.
65 | ///
warning: 'rdrb' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
--> ../Reducer/Reducers/Scope.swift:100:64-100:69
98 | ///
99 | /// For an alternative to using ``Scope`` with state case paths that enforces the order, check out
100 + /// the ``ifCaseLet(_:action:then:fileID:filePath:line:column:)-rdrb`` operator.
| ├─suggestion: Replace '-rdrb' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<State, CaseState>, action toCaseAction: AnyCasePath<Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
| ╰─suggestion: Replace '-rdrb' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<State, CaseState>, action toCaseAction: CaseKeyPath<Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> _IfCaseLetReducer<Self, Case> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer, Self.Action : CasePathable, Self.State : CasePathable'
101 | public struct Scope<ParentState, ParentAction, Child: Reducer>: Reducer {
102 | @usableFromInline
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/StackReducer.swift:9:73-9:79
7 | ///
8 | /// Use this type for modeling a feature's domain that needs to present child features using
9 + /// ``Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb``.
| ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
10 | ///
11 | /// See the dedicated article on <doc:Navigation> for more information on the library's navigation
warning: '9svqb' isn't a disambiguation for 'forEach(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/StackReducer.swift:222:73-222:79
220 | ///
221 | /// Use this type for modeling a feature's domain that needs to present child features using
222 + /// ``Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb``.
| ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<State, Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
223 | ///
224 | /// See the dedicated article on <doc:Navigation> for more information on the library's navigation
warning: 'Sharing' doesn't exist at '/ComposableArchitecture/AppStorageKeyPathKey'
--> ../Sharing/AppStorageKeyPathKey.swift:27:11-27:18
25 | /// A type defining a user defaults persistence strategy via key path.
26 | ///
27 + /// See ``Sharing/SharedReaderKey/appStorage(_:)`` to create values of this type.
28 | @available(*, deprecated, message: "Use an 'AppStorageKey', instead")
29 | public struct AppStorageKeyPathKey<Value: Sendable>: Sendable {
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:267:75-267:81
265 | /// to ``Exhaustivity/off``. When that is done the ``TestStore``'s behavior changes:
266 | ///
267 + /// * The trailing closures of ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
268 | /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` no longer need to assert on all
269 | /// state changes. They can assert on any subset of changes, and only if they make an incorrect
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:268:61-268:67
266 | ///
267 | /// * The trailing closures of ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
268 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` no longer need to assert on all
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
269 | /// state changes. They can assert on any subset of changes, and only if they make an incorrect
270 | /// mutation will a test failure be reported.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:271:54-271:60
269 | /// state changes. They can assert on any subset of changes, and only if they make an incorrect
270 | /// mutation will a test failure be reported.
271 + /// * The ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
272 | /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` methods are allowed to be
273 | /// called even when actions have been received from effects that have not been asserted on yet.
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:272:61-272:67
270 | /// mutation will a test failure be reported.
271 | /// * The ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
272 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` methods are allowed to be
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
273 | /// called even when actions have been received from effects that have not been asserted on yet.
274 | /// Any pending actions will be cleared.
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:482:48-482:54
480 | ///
481 | /// When read from a trailing closure assertion in
482 + /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
483 | /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, it will equal the `inout` state
484 | /// passed to the
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:483:59-483:65
481 | /// When read from a trailing closure assertion in
482 | /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
483 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, it will equal the `inout` state
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
484 | /// passed to the
485 | /// closure.
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:493:59-493:65
491 | ///
492 | /// This is the default timeout used in all methods that take an optional timeout, such as
493 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` and
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
494 | /// ``finish(timeout:fileID:file:line:column:)-klnc``.
495 | public var timeout: Duration
warning: 'klnc' isn't a disambiguation for 'finish(timeout:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:494:49-494:54
492 | /// This is the default timeout used in all methods that take an optional timeout, such as
493 | /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` and
494 + /// ``finish(timeout:fileID:file:line:column:)-klnc``.
| ├─suggestion: Replace 'klnc' with '(Duration?,_,_,_,_)' for '@MainActor func finish(timeout duration: Duration? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace 'klnc' with '(UInt64,_,_,_,_)' for '@MainActor func finish(timeout nanoseconds: UInt64, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
495 | public var timeout: Duration
496 |
warning: 'klnc' isn't a disambiguation for 'finish(timeout:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:998:49-998:54
996 | /// happening inside your features. For example, you can send an action in a child feature
997 | /// without asserting on how many changes in the system, and then tell the test store to
998 + /// ``finish(timeout:fileID:file:line:column:)-klnc`` by executing all of its effects, and finally
| ├─suggestion: Replace 'klnc' with '(Duration?,_,_,_,_)' for '@MainActor func finish(timeout duration: Duration? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace 'klnc' with '(UInt64,_,_,_,_)' for '@MainActor func finish(timeout nanoseconds: UInt64, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
999 | /// to ``skipReceivedActions(strict:fileID:file:line:column:)`` to receive all actions. After that
1000 | /// is done you can assert on the final state of the store:
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1455:85-1455:91
1453 | /// state changes.
1454 | ///
1455 + /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, except
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1456 | /// it allows you to assert that an action was received that matches a predicate instead of a case
1457 | /// key path:
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1474:59-1474:65
1472 | ///
1473 | /// If you only want to check that a particular action case was received, then you might find the
1474 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` overload of this method more
| ├─suggestion: Replace '53wic' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1475 | /// useful.
1476 | ///
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1558:85-1558:91
1556 | /// Asserts an action was received matching a case path and asserts how the state changes.
1557 | ///
1558 + /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, except
| ├─suggestion: Replace '8zqxk' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '8zqxk' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1559 | /// it allows you to assert that an action was received that matches a case key path instead of a
1560 | /// predicate.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1661:85-1661:91
1659 | /// the state changes.
1660 | ///
1661 + /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-53wic``, except
| ├─suggestion: Replace '53wic' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1662 | /// it allows you to assert on the value inside the action too.
1663 | ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1917:74-1917:80
1915 | /// Sends an action to the store and asserts when state changes.
1916 | ///
1917 + /// This method is similar to ``send(_:assert:fileID:file:line:column:)-8f2pl``, except it allows
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
1918 | /// you to specify a case key path to an action, which can be useful when testing the integration
1919 | /// of features and sending deeply nested actions. For example:
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1965:74-1965:80
1963 | /// Sends an action to the store and asserts when state changes.
1964 | ///
1965 + /// This method is similar to ``send(_:assert:fileID:file:line:column:)-8f2pl``, except it allows
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
1966 | /// you to specify a value for the associated value of the action.
1967 | ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2227:79-2227:85
2225 | }
2226 |
2227 + /// The type returned from ``TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` that represents the
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
| ╰─suggestion: Replace '8f2pl' with '(CaseKeyPath<Action,Void>,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: CaseKeyPath<Action, Void>, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2228 | /// lifecycle of the effect started from sending an action.
2229 | ///
warning: 'klnc' isn't a disambiguation for 'finish(timeout:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2252:61-2252:66
2250 | /// ```
2251 | ///
2252 + /// See ``TestStore/finish(timeout:fileID:file:line:column:)-klnc`` for the ability to await all
| ├─suggestion: Replace 'klnc' with '(Duration?,_,_,_,_)' for '@MainActor func finish(timeout duration: Duration? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace 'klnc' with '(UInt64,_,_,_,_)' for '@MainActor func finish(timeout nanoseconds: UInt64, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2253 | /// in-flight effects in the test store.
2254 | ///
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2481:69-2481:75
2479 | ///
2480 | /// To partially match an action received from an effect, use
2481 + /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` or
| ├─suggestion: Replace '53wic' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '53wic' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2482 | /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
2483 |
warning: '35638' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2482:69-2482:75
2480 | /// To partially match an action received from an effect, use
2481 | /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` or
2482 + /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
| ├─suggestion: Replace '35638' with '(Action,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '35638' with '(Action,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : Equatable'
| ├─suggestion: Replace '35638' with '((Action)->Bool,Duration?,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '35638' with '((Action)->Bool,UInt64,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (_ action: Action) -> Bool, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '35638' with '(AnyCasePath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: AnyCasePath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ├─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,Duration?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout duration: Duration? = nil, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
| ╰─suggestion: Replace '35638' with '(CaseKeyPath<Action,Value>,UInt64,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, timeout nanoseconds: UInt64, assert updateStateToExpectedResult: ((_ state: inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2483 |
2484 | case on
Finished building documentation for 'ComposableArchitecture' (7.23s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/pointfreeco/swift-composable-architecture/main
warning: 'xctest-dynamic-overlay': /Users/admin/builder/spi-builder-workspace/.build/checkouts/xctest-dynamic-overlay/Package.swift:9:11: warning: 'v13' is deprecated: iOS 15.0 is the oldest supported version [#DeprecatedDeclaration]
7 | name: "xctest-dynamic-overlay",
8 | platforms: [
9 | .iOS(.v13),
| `- warning: 'v13' is deprecated: iOS 15.0 is the oldest supported version [#DeprecatedDeclaration]
10 | .macOS(.v10_15),
11 | .tvOS(.v13),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/xctest-dynamic-overlay/Package.swift:10:13: warning: 'v10_15' is deprecated: macOS 12.0 is the oldest supported version [#DeprecatedDeclaration]
8 | platforms: [
9 | .iOS(.v13),
10 | .macOS(.v10_15),
| `- warning: 'v10_15' is deprecated: macOS 12.0 is the oldest supported version [#DeprecatedDeclaration]
11 | .tvOS(.v13),
12 | .watchOS(.v6),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/xctest-dynamic-overlay/Package.swift:11:12: warning: 'v13' is deprecated: tvOS 15.0 is the oldest supported version [#DeprecatedDeclaration]
9 | .iOS(.v13),
10 | .macOS(.v10_15),
11 | .tvOS(.v13),
| `- warning: 'v13' is deprecated: tvOS 15.0 is the oldest supported version [#DeprecatedDeclaration]
12 | .watchOS(.v6),
13 | ],
/Users/admin/builder/spi-builder-workspace/.build/checkouts/xctest-dynamic-overlay/Package.swift:12:15: warning: 'v6' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
10 | .macOS(.v10_15),
11 | .tvOS(.v13),
12 | .watchOS(.v6),
| `- warning: 'v6' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
13 | ],
14 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[18 / 41]
[20 / 43] Snippets
[31 / 58] SymbolKit
[40 / 58] SymbolKit
[52 / 59] SymbolKit
[54 / 59] snippet-extract-product
[58 / 63] snippet-extract-product
[59 / 63] snippet-extract-product
[61 / 63] snippet-extract-product
Build complete! (2.41 sec)
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 1452]
[Planning deferred tasks]
[Constructing 2812 / 3335]
[14 / 355]
[32 / 375] SwiftSyntax509
[49 / 383] Sharing2
[71 / 404] SwiftSyntax600
[79 / 407] SwiftSyntax603
[88 / 404] IssueReporting
[93 / 400] OrderedCollections
[102 / 401] ConcurrencyExtras
[110 / 408] _IssueReporting
[119 / 406] ConcurrencyExtras
[123 / 419] SwiftSyntax
[128 / 415] XCTestDynamicOverlay
[132 / 416] XCTestDynamicOverlay
[135 / 416] SwiftSyntax
[137 / 420] XCTestDynamicOverlay
[140 / 416] XCTestDynamicOverlay
[143 / 416] PerceptionCore
[148 / 413] PerceptionCore
[151 / 413] OrderedCollections
[159 / 418] PerceptionCore
[161 / 430] IdentifiedCollections
[163 / 442] CustomDump
[164 / 452] CustomDump
[170 / 444] CombineSchedulers
[173 / 440] PerceptionCore
[176 / 445] PerceptionCore
[179 / 445] PerceptionCore
[186 / 441] IdentifiedCollections
[191 / 441] IdentifiedCollections
[194 / 441] CustomDump
[198 / 441] IdentifiedCollections
[202 / 441] CustomDump
[204 / 441] ConcurrencyExtras
[207 / 441] CombineSchedulers
[211 / 441] CombineSchedulers
[216 / 441] Clocks
[219 / 437] CasePathsCore
[225 / 457] CombineSchedulers
[229 / 456] CasePathsCore
[236 / 452] Clocks
[242 / 453] Dependencies
[247 / 453] CasePathsCore
[248 / 452] Dependencies
[254 / 463] Dependencies
[256 / 463] Dependencies
[258 / 463] Dependencies
[259 / 463] Dependencies
[263 / 460] Dependencies
[264 / 459] Sharing
[271 / 470] Sharing
[272 / 470] Sharing
[275 / 470] Sharing
[277 / 466] Sharing
[278 / 465] SwiftSyntax
[286 / 469] SwiftBasicFormat
[296 / 487] SwiftDiagnostics
[307 / 490] SwiftParser
[310 / 490] SwiftParser
[311 / 490] SwiftParser
[313 / 490] SwiftDiagnostics
[318 / 495] SwiftDiagnostics
[320 / 495] SwiftDiagnostics
[321 / 495] SwiftParser
[327 / 503] SwiftOperators
[336 / 525] SwiftParserDiagnostics
[344 / 525] SwiftParserDiagnostics
[349 / 521] SwiftOperators
[352 / 521] SwiftParserDiagnostics
[356 / 518] SwiftParserDiagnostics
[366 / 529] SwiftSyntaxBuilder
[368 / 529] SwiftSyntaxBuilder
[369 / 529] SwiftSyntaxBuilder
[369 / 529] SwiftSyntax
[371 / 523] SwiftSyntaxBuilder
[375 / 524] SwiftIfConfig
[386 / 535] SwiftIfConfig
[391 / 531] SwiftSyntaxMacros
[402 / 542] SwiftSyntaxMacros
[407 / 543] SwiftSyntaxMacroExpansion
[417 / 553] SwiftSyntaxMacroExpansion
[421 / 555] SwiftCompilerPluginMessageHandling
[432 / 566] SwiftSyntaxMacroExpansion
[433 / 565] SwiftCompilerPluginMessageHandling
[437 / 562] SwiftCompilerPluginMessageHandling
[439 / 564] SwiftCompilerPlugin
[451 / 534] CasePathsMacros
[463 / 556] PerceptionMacros
[470 / 556] PerceptionMacros
[478 / 556] DependenciesMacrosPlugin
[486 / 550] ComposableArchitectureMacros
[486 / 550] DependenciesMacros
[496 / 560] CasePaths
[502 / 558] Perception
[505 / 551] CasePaths
[506 / 550] Perception
[511 / 546] SwiftNavigation
[522 / 557] SwiftNavigation
[542 / 568] UIKitNavigation
[547 / 564] SwiftUINavigation
[558 / 575] SwiftUINavigation
[565 / 573] ComposableArchitecture
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/ViewAction.swift:29:16: [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m27 |[0;0m @discardableResult
[0;36m28 |[0;0m public func send(_ action: StoreAction.ViewAction, animation: Animation?) -> StoreTask {
[0;36m29 |[0;0m self.store.send(.view(action), animation: animation)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m30 |[0;0m }
[0;36m31 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/ViewAction.swift:35:16: [1;33mwarning: [1;39m'send(_:transaction:)' is deprecated: Use 'withTransaction(transaction) { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m33 |[0;0m @discardableResult
[0;36m34 |[0;0m public func send(_ action: StoreAction.ViewAction, transaction: Transaction) -> StoreTask {
[0;36m35 |[0;0m self.store.send(.view(action), transaction: transaction)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'send(_:transaction:)' is deprecated: Use 'withTransaction(transaction) { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m36 |[0;0m }
[0;36m37 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer.swift:71:5: [1;33mwarning: [1;39m'reduce(into:action:)' is deprecated: Don't invoke a reducer directly. Reducers are processed by the store. If you need to run a reducer on some child state given some child action, use a 'send' effect:
− return Child().reduce(&child.state, action: .childAction).map(Action.child)
+ return .send(.child(.childAction))
Or, if you don't want to send a new action through the store, extract helpers that can be invoked by either reducer.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m69 |[0;0m extension Reducer {
[0;36m70 |[0;0m public func _reduce(into state: inout State, action: Action) -> Effect<Action> {
[0;36m71 |[0;0m reduce(into: &state, action: action)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'reduce(into:action:)' is deprecated: Don't invoke a reducer directly. Reducers are processed by the store. If you need to run a reducer on some child state given some child action, use a 'send' effect:
− return Child().reduce(&child.state, action: .childAction).map(Action.child)
+ return .send(.child(.childAction))
Or, if you don't want to send a new action through the store, extract helpers that can be invoked by either reducer.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m72 |[0;0m }
[0;36m73 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[576 / 584] ComposableArchitecture
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:8:29: [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m6 |[0;0m public func alert<Action>(_ item: Binding<Store<AlertState<Action>, Action>?>) -> some View {
[0;36m7 |[0;0m let store = item.wrappedValue
[0;36m8 |[0;0m let alertState = store?.withState { $0 }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m9 |[0;0m return self.alert(
[0;36m10 |[0;0m (alertState?.title).map(Text.init) ?? Text(verbatim: ""),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:23:24: [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m21 |[0;0m case .animatedSend(let action, let animation):
[0;36m22 |[0;0m if let action {
[0;36m23 |[0;0m store?.send(action, animation: animation)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m24 |[0;0m }
[0;36m25 |[0;0m @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:45:42: [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m43 |[0;0m ) -> some View {
[0;36m44 |[0;0m let store = item.wrappedValue
[0;36m45 |[0;0m let confirmationDialogState = store?.withState { $0 }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m46 |[0;0m return self.confirmationDialog(
[0;36m47 |[0;0m (confirmationDialogState?.title).map(Text.init) ?? Text(verbatim: ""),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:62:24: [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m60 |[0;0m case .animatedSend(let action, let animation):
[0;36m61 |[0;0m if let action {
[0;36m62 |[0;0m store?.send(action, animation: animation)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m63 |[0;0m }
[0;36m64 |[0;0m @unknown default:
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Create.swift:150:27: [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m148 |[0;0m callback(
[0;36m149 |[0;0m .init(
[0;36m150 |[0;0m send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m151 |[0;0m complete: { [weak self] in self?.buffer.complete(completion: $0) }
[0;36m152 |[0;0m )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Create.swift:150:46: [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m148 |[0;0m callback(
[0;36m149 |[0;0m .init(
[0;36m150 |[0;0m send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m151 |[0;0m complete: { [weak self] in self?.buffer.complete(completion: $0) }
[0;36m152 |[0;0m )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Create.swift:151:46: [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m149 |[0;0m .init(
[0;36m150 |[0;0m send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
[0;36m151 |[0;0m complete: { [weak self] in self?.buffer.complete(completion: $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Downstream.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m152 |[0;0m )
[0;36m153 |[0;0m )
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/ForEachReducer.swift:268:8: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m266 |[0;0m .dependency(\.navigationIDPath, elementNavigationID)
[0;36m267 |[0;0m ._reduce(into: &state[keyPath: self.toElementsState][id: id]!, action: elementAction)
[0;36m268 |[0;0m .map { [toElementAction] in toElementAction.embed((id, $0)) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m269 |[0;0m ._cancellable(id: navigationID, navigationIDPath: self.navigationIDPath)
[0;36m270 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/IfCaseLetReducer.swift:206:8: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m204 |[0;0m .dependency(\.navigationIDPath, newNavigationID)
[0;36m205 |[0;0m ._reduce(into: &childState, action: childAction)
[0;36m206 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m207 |[0;0m .cancellable(id: childID)
[0;36m208 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/IfLetReducer.swift:228:8: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m226 |[0;0m .dependency(\.navigationIDPath, self.navigationIDPath.appending(navigationID))
[0;36m227 |[0;0m ._reduce(into: &state[keyPath: self.toChildState]!, action: childAction)
[0;36m228 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m229 |[0;0m ._cancellable(id: navigationID, navigationIDPath: self.navigationIDPath)
[0;36m230 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:288:19: [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m286 |[0;0m let keyPath = keyPath.unsafeSendable()
[0;36m287 |[0;0m return AnyCasePath<PresentationAction, AppendedAction>(
[0;36m288 |[0;0m embed: { .presented(keyPath($0)) },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m289 |[0;0m extract: {
[0;36m290 |[0;0m guard case .presented(let action) = $0 else { return nil }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:290:47: [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m288 |[0;0m embed: { .presented(keyPath($0)) },
[0;36m289 |[0;0m extract: {
[0;36m290 |[0;0m guard case .presented(let action) = $0 else { return nil }
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m291 |[0;0m return action[case: keyPath]
[0;36m292 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:306:21: [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m304 |[0;0m switch $0 {
[0;36m305 |[0;0m case .dismiss:
[0;36m306 |[0;0m return .dismiss
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m307 |[0;0m case .presented(let action):
[0;36m308 |[0;0m return .presented(keyPath(action))
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:312:18: [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m310 |[0;0m },
[0;36m311 |[0;0m extract: {
[0;36m312 |[0;0m switch $0 {
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Action.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m313 |[0;0m case .dismiss:
[0;36m314 |[0;0m return .dismiss
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:509:10: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m507 |[0;0m into: &state[keyPath: self.toPresentationState].wrappedValue!, action: destinationAction
[0;36m508 |[0;0m )
[0;36m509 |[0;0m .map { [toPresentationAction] in toPresentationAction.embed(.presented($0)) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m510 |[0;0m ._cancellable(navigationIDPath: destinationNavigationIDPath)
[0;36m511 |[0;0m baseEffects = self.base._reduce(into: &state, action: action)
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:581:25: [1;33mwarning: [1;39m'concatenate' is deprecated: Sequence work directly in a '.run' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m579 |[0;0m let presentationDestinationID = self.navigationIDPath(for: presentationState)
[0;36m580 |[0;0m state[keyPath: self.toPresentationState].presentedID = presentationDestinationID
[0;36m581 |[0;0m presentEffects = .concatenate(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'concatenate' is deprecated: Sequence work directly in a '.run' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m582 |[0;0m .publisher { Empty(completeImmediately: false) }
[0;36m583 |[0;0m ._cancellable(id: PresentationDismissID(), navigationIDPath: presentationDestinationID),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:237:10: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m235 |[0;0m return self.child
[0;36m236 |[0;0m ._reduce(into: &childState, action: childAction)
[0;36m237 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m238 |[0;0m
[0;36m239 |[0;0m case .keyPath(let toChildState):
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:242:10: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m240 |[0;0m return self.child
[0;36m241 |[0;0m ._reduce(into: &state[keyPath: toChildState], action: childAction)
[0;36m242 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m243 |[0;0m }
[0;36m244 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/StackReducer.swift:463:12: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m461 |[0;0m action: destinationAction
[0;36m462 |[0;0m )
[0;36m463 |[0;0m .map { [toStackAction] in toStackAction.embed(.element(id: elementID, action: $0)) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m464 |[0;0m ._cancellable(navigationIDPath: elementNavigationIDPath)
[0;36m465 |[0;0m } else {
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/StackReducer.swift:588:19: [1;33mwarning: [1;39m'concatenate' is deprecated: Sequence work directly in a '.run' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m586 |[0;0m idsAfter.subtracting(idsBefore).map { elementID in
[0;36m587 |[0;0m let navigationDestinationID = self.navigationIDPath(for: elementID)
[0;36m588 |[0;0m return .concatenate(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'concatenate' is deprecated: Sequence work directly in a '.run' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m589 |[0;0m .publisher { Empty(completeImmediately: false) }
[0;36m590 |[0;0m ._cancellable(
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:76:14: [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m74 |[0;0m .init(
[0;36m75 |[0;0m keyPath: keyPath,
[0;36m76 |[0;0m set: { $0[keyPath: keyPath] = value },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m77 |[0;0m value: value,
[0;36m78 |[0;0m valueIsEqualTo: { $0 as? Value == value }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:143:15: [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m141 |[0;0m keyPath: keyPath,
[0;36m142 |[0;0m set: {
[0;36m143 |[0;0m debugger.wasCalled.setValue(true)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m144 |[0;0m $0[keyPath: keyPath] = value
[0;36m145 |[0;0m },
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:144:15: [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.State.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m142 |[0;0m set: {
[0;36m143 |[0;0m debugger.wasCalled.setValue(true)
[0;36m144 |[0;0m $0[keyPath: keyPath] = value
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.State.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m145 |[0;0m },
[0;36m146 |[0;0m value: value,
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:155:16: [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.State.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m153 |[0;0m .init(
[0;36m154 |[0;0m keyPath: keyPath,
[0;36m155 |[0;0m set: { $0[keyPath: keyPath] = value },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.State.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m156 |[0;0m value: value,
[0;36m157 |[0;0m valueIsEqualTo: { $0 as? Value == value }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/IdentifiedArray+Observation.swift:130:23: [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m128 |[0;0m self.store = store
[0;36m129 |[0;0m store._$observationRegistrar.access(store, keyPath: \.currentState)
[0;36m130 |[0;0m self.data = store.withState { $0 }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m131 |[0;0m }
[0;36m132 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/NavigationStack+Observation.swift:483:16: [1;33mwarning: [1;39m'scope(state:action:)' is deprecated: renamed to 'scope(_:action:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m481 |[0;0m #if DEBUG && !os(visionOS)
[0;36m482 |[0;0m _PerceptionLocals.$isInPerceptionTracking.withValue(isInViewBody) {
[0;36m483 |[0;0m self.scope(state: state, action: action)
[0;36m|[0;0m |- [1;33mwarning: [1;39m'scope(state:action:)' is deprecated: renamed to 'scope(_:action:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'scope(_:action:)' instead[0;0m
[0;36m484 |[0;0m }
[0;36m485 |[0;0m #else
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Store+Observation.swift:894:16: [1;33mwarning: [1;39m'scope(state:action:fileID:filePath:line:column:)' is deprecated: renamed to 'scope(_:action:fileID:filePath:line:column:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m892 |[0;0m #if DEBUG && !os(visionOS)
[0;36m893 |[0;0m _PerceptionLocals.$isInPerceptionTracking.withValue(isInViewBody) {
[0;36m894 |[0;0m self.scope(
[0;36m|[0;0m |- [1;33mwarning: [1;39m'scope(state:action:fileID:filePath:line:column:)' is deprecated: renamed to 'scope(_:action:fileID:filePath:line:column:)'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'scope(_:action:fileID:filePath:line:column:)' instead[0;0m
[0;36m895 |[0;0m state: state,
[0;36m896 |[0;0m action: action.appending(path: \.presented),
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Store.swift:393:47: [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m391 |[0;0m return core.didSet
[0;36m392 |[0;0m .prefix { [weak self] _ in self?.core.isInvalid == false }
[0;36m393 |[0;0m .compactMap { [weak self] in (self?.withState(\.self) as? T)?._$id }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m394 |[0;0m .removeDuplicates()
[0;36m395 |[0;0m .dropFirst()
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:45:19: [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m43 |[0;0m let keyPath = keyPath.unsafeSendable()
[0;36m44 |[0;0m return AnyCasePath(
[0;36m45 |[0;0m embed: { .set(keyPath, $0) },
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m46 |[0;0m extract: { $0.keyPath == keyPath ? $0.value as? Value : nil }
[0;36m47 |[0;0m )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:46:23: [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m44 |[0;0m return AnyCasePath(
[0;36m45 |[0;0m embed: { .set(keyPath, $0) },
[0;36m46 |[0;0m extract: { $0.keyPath == keyPath ? $0.value as? Value : nil }
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Root.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m47 |[0;0m )
[0;36m48 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:106:28: [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m104 |[0;0m extension BindableAction {
[0;36m105 |[0;0m public var binding: BindingAction<State>? {
[0;36m106 |[0;0m AnyCasePath(unsafe: { .binding($0) }).extract(from: self)
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Self.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m107 |[0;0m }
[0;36m108 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:1134:13: [1;33mwarning: [1;39m'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m1132 |[0;0m var expectedWhenGivenPreviousState = current
[0;36m1133 |[0;0m if let updateStateToExpectedResult {
[0;36m1134 |[0;0m withExpectedIssue(isIntermittent: true) {
[0;36m|[0;0m |- [1;33mwarning: [1;39m'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'expectReportsIssue' instead[0;0m
[0;36m1135 |[0;0m do {
[0;36m1136 |[0;0m try Dependencies.withDependencies {
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:2209:9: [1;33mwarning: [1;39m'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m2207 |[0;0m case .off(let showSkippedAssertions):
[0;36m2208 |[0;0m if showSkippedAssertions {
[0;36m2209 |[0;0m withExpectedIssue {
[0;36m|[0;0m |- [1;33mwarning: [1;39m'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue'[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39muse 'expectReportsIssue' instead[0;0m
[0;36m2210 |[0;0m reportIssue(
[0;36m2211 |[0;0m """
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:2532:26: [1;33mwarning: [1;39m'withIssueContext(fileID:filePath:line:column:isolation:operation:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:)[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m2530 |[0;0m operation: () async throws -> R
[0;36m2531 |[0;0m ) async rethrows -> R {
[0;36m2532 |[0;0m let result = try await withIssueContext(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withIssueContext(fileID:filePath:line:column:isolation:operation:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:)[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m2533 |[0;0m fileID: fileID,
[0;36m2534 |[0;0m filePath: filePath,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Deprecations.swift:1337:55: [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m1335 |[0;0m to another case:
[0;36m1336 |[0;0m
[0;36m1337 |[0;0m \(debugCaseOutput(self.store.wrappedValue.withState { $0 }))
[0;36m|[0;0m `- [1;33mwarning: [1;39m'withState' is deprecated: Use '@ObservableState', instead. See the following migration guide for more information: https://swiftpackageindex.com/pointfreeco/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7#Using-ObservableState[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m1338 |[0;0m
[0;36m1339 |[0;0m This usually happens when there is a mismatch between the case being switched on and the \
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Deprecations.swift:2710:40: [1;33mwarning: [1;39m'weak' ownership of capture 'store' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m2702 |[0;0m binding: ViewStore(self.store, observe: { $0[keyPath: keyPath].wrappedValue })
[0;36m2703 |[0;0m .binding(
[0;36m2704 |[0;0m send: { value in
[0;36m|[0;0m |- [1;39mnote: [1;39m'store' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'store' as a capture list item to silence[0;0m
[0;36m2705 |[0;0m #if DEBUG
[0;36m2706 |[0;0m let debugger = BindableActionViewStoreDebugger(
[0;36m:[0;0m
[0;36m2708 |[0;0m bindableActionType: self.bindableActionType,
[0;36m2709 |[0;0m context: .bindingStore,
[0;36m2710 |[0;0m isInvalidated: { [weak store] in store?.core.isInvalid ?? true },
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'store' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m2711 |[0;0m fileID: self.fileID,
[0;36m2712 |[0;0m filePath: self.filePath,
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Deprecations.swift:2753:36: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m2744 |[0;0m return self.binding(
[0;36m2745 |[0;0m get: { $0[keyPath: keyPath].wrappedValue },
[0;36m2746 |[0;0m send: { value in
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m2747 |[0;0m #if DEBUG
[0;36m2748 |[0;0m let bindingState = self.state[keyPath: keyPath]
[0;36m:[0;0m
[0;36m2751 |[0;0m bindableActionType: ViewAction.self,
[0;36m2752 |[0;0m context: .bindingState,
[0;36m2753 |[0;0m isInvalidated: { [weak self] in self?.store.core.isInvalid ?? true },
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m2754 |[0;0m fileID: bindingState.fileID,
[0;36m2755 |[0;0m filePath: bindingState.filePath,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:237:10: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m235 |[0;0m return self.child
[0;36m236 |[0;0m ._reduce(into: &childState, action: childAction)
[0;36m237 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m238 |[0;0m
[0;36m239 |[0;0m case .keyPath(let toChildState):
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:242:10: [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m240 |[0;0m return self.child
[0;36m241 |[0;0m ._reduce(into: &state[keyPath: toChildState], action: childAction)
[0;36m242 |[0;0m .map { [toChildAction] in toChildAction.embed($0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m243 |[0;0m }
[0;36m244 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete! (25.37 sec)
25064
205 /Users/admin/builder/spi-builder-workspace/.docs/pointfreeco/swift-composable-architecture/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/pointfreeco/swift-composable-architecture/main
File count: 25064
Doc size: 205.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -pointfreeco-swift-composable-architecture-main-2ada3997.zip to presigned URL
Starting upload of 58336885 bytes...
Upload completed successfully
Done.