The Swift Package Index logo.Swift Package Index

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 arm64

Build 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: warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
27 |   @discardableResult
28 |   public func send(_ action: StoreAction.ViewAction, animation: Animation?) -> StoreTask {
29 |     self.store.send(.view(action), animation: animation)
   |                `- warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
30 |   }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/ViewAction.swift:35:16: warning: 'send(_:transaction:)' is deprecated: Use 'withTransaction(transaction) { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
33 |   @discardableResult
34 |   public func send(_ action: StoreAction.ViewAction, transaction: Transaction) -> StoreTask {
35 |     self.store.send(.view(action), transaction: transaction)
   |                `- warning: 'send(_:transaction:)' is deprecated: Use 'withTransaction(transaction) { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
36 |   }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer.swift:71:5: warning: '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. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 69 | extension Reducer {
 70 |   public func _reduce(into state: inout State, action: Action) -> Effect<Action> {
 71 |     reduce(into: &state, action: action)
    |     `- warning: '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. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 72 |   }
 73 |
[#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: warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 6 |   public func alert<Action>(_ item: Binding<Store<AlertState<Action>, Action>?>) -> some View {
 7 |     let store = item.wrappedValue
 8 |     let alertState = store?.withState { $0 }
   |                             `- warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 9 |     return self.alert(
10 |       (alertState?.title).map(Text.init) ?? Text(verbatim: ""),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:23:24: warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
21 |             case .animatedSend(let action, let animation):
22 |               if let action {
23 |                 store?.send(action, animation: animation)
   |                        `- warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
24 |               }
25 |             @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:45:42: warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
43 |   ) -> some View {
44 |     let store = item.wrappedValue
45 |     let confirmationDialogState = store?.withState { $0 }
   |                                          `- warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
46 |     return self.confirmationDialog(
47 |       (confirmationDialogState?.title).map(Text.init) ?? Text(verbatim: ""),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Alert+Observation.swift:62:24: warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
60 |             case .animatedSend(let action, let animation):
61 |               if let action {
62 |                 store?.send(action, animation: animation)
   |                        `- warning: 'send(_:animation:)' is deprecated: Use 'withAnimation { _ = store.send(action) }' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
63 |               }
64 |             @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: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
148 |         callback(
149 |           .init(
150 |             send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
    |                           `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
151 |             complete: { [weak self] in self?.buffer.complete(completion: $0) }
152 |           )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Create.swift:150:46: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
148 |         callback(
149 |           .init(
150 |             send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
    |                                              `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
151 |             complete: { [weak self] in self?.buffer.complete(completion: $0) }
152 |           )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Create.swift:151:46: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
149 |           .init(
150 |             send: { [weak self] in _ = self?.buffer.buffer(value: $0) },
151 |             complete: { [weak self] in self?.buffer.complete(completion: $0) }
    |                                              `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
152 |           )
153 |         )
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/ForEachReducer.swift:268:8: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
266 |       .dependency(\.navigationIDPath, elementNavigationID)
267 |       ._reduce(into: &state[keyPath: self.toElementsState][id: id]!, action: elementAction)
268 |       .map { [toElementAction] in toElementAction.embed((id, $0)) }
    |        `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
269 |       ._cancellable(id: navigationID, navigationIDPath: self.navigationIDPath)
270 |   }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/IfCaseLetReducer.swift:206:8: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
204 |       .dependency(\.navigationIDPath, newNavigationID)
205 |       ._reduce(into: &childState, action: childAction)
206 |       .map { [toChildAction] in toChildAction.embed($0) }
    |        `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
207 |       .cancellable(id: childID)
208 |   }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/IfLetReducer.swift:228:8: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
226 |       .dependency(\.navigationIDPath, self.navigationIDPath.appending(navigationID))
227 |       ._reduce(into: &state[keyPath: self.toChildState]!, action: childAction)
228 |       .map { [toChildAction] in toChildAction.embed($0) }
    |        `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
229 |       ._cancellable(id: navigationID, navigationIDPath: self.navigationIDPath)
230 |   }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:288:19: warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
286 |       let keyPath = keyPath.unsafeSendable()
287 |       return AnyCasePath<PresentationAction, AppendedAction>(
288 |         embed: { .presented(keyPath($0)) },
    |                   `- warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
289 |         extract: {
290 |           guard case .presented(let action) = $0 else { return nil }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:290:47: warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
288 |         embed: { .presented(keyPath($0)) },
289 |         extract: {
290 |           guard case .presented(let action) = $0 else { return nil }
    |                                               `- warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
291 |           return action[case: keyPath]
292 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:306:21: warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
304 |           switch $0 {
305 |           case .dismiss:
306 |             return .dismiss
    |                     `- warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
307 |           case .presented(let action):
308 |             return .presented(keyPath(action))
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:312:18: warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
310 |         },
311 |         extract: {
312 |           switch $0 {
    |                  `- warning: capture of non-Sendable type 'Action.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
313 |           case .dismiss:
314 |             return .dismiss
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:509:10: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
507 |           into: &state[keyPath: self.toPresentationState].wrappedValue!, action: destinationAction
508 |         )
509 |         .map { [toPresentationAction] in toPresentationAction.embed(.presented($0)) }
    |          `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
510 |         ._cancellable(navigationIDPath: destinationNavigationIDPath)
511 |       baseEffects = self.base._reduce(into: &state, action: action)
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/PresentationReducer.swift:581:25: warning: 'concatenate' is deprecated: Sequence work directly in a '.run' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
579 |       let presentationDestinationID = self.navigationIDPath(for: presentationState)
580 |       state[keyPath: self.toPresentationState].presentedID = presentationDestinationID
581 |       presentEffects = .concatenate(
    |                         `- warning: 'concatenate' is deprecated: Sequence work directly in a '.run' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
582 |         .publisher { Empty(completeImmediately: false) }
583 |           ._cancellable(id: PresentationDismissID(), navigationIDPath: presentationDestinationID),
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:237:10: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
235 |       return self.child
236 |         ._reduce(into: &childState, action: childAction)
237 |         .map { [toChildAction] in toChildAction.embed($0) }
    |          `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
238 |
239 |     case .keyPath(let toChildState):
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:242:10: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
240 |       return self.child
241 |         ._reduce(into: &state[keyPath: toChildState], action: childAction)
242 |         .map { [toChildAction] in toChildAction.embed($0) }
    |          `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
243 |     }
244 |   }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/StackReducer.swift:463:12: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
461 |             action: destinationAction
462 |           )
463 |           .map { [toStackAction] in toStackAction.embed(.element(id: elementID, action: $0)) }
    |            `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
464 |           ._cancellable(navigationIDPath: elementNavigationIDPath)
465 |       } else {
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/StackReducer.swift:588:19: warning: 'concatenate' is deprecated: Sequence work directly in a '.run' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
586 |         idsAfter.subtracting(idsBefore).map { elementID in
587 |           let navigationDestinationID = self.navigationIDPath(for: elementID)
588 |           return .concatenate(
    |                   `- warning: 'concatenate' is deprecated: Sequence work directly in a '.run' instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
589 |             .publisher { Empty(completeImmediately: false) }
590 |               ._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: warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 74 |     .init(
 75 |       keyPath: keyPath,
 76 |       set: { $0[keyPath: keyPath] = value },
    |              `- warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 77 |       value: value,
 78 |       valueIsEqualTo: { $0 as? Value == value }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:143:15: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
141 |             keyPath: keyPath,
142 |             set: {
143 |               debugger.wasCalled.setValue(true)
    |               `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
144 |               $0[keyPath: keyPath] = value
145 |             },
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:144:15: warning: capture of non-Sendable type 'Self.State.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
142 |             set: {
143 |               debugger.wasCalled.setValue(true)
144 |               $0[keyPath: keyPath] = value
    |               `- warning: capture of non-Sendable type 'Self.State.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
145 |             },
146 |             value: value,
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Binding+Observation.swift:155:16: warning: capture of non-Sendable type 'Self.State.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
153 |       .init(
154 |         keyPath: keyPath,
155 |         set: { $0[keyPath: keyPath] = value },
    |                `- warning: capture of non-Sendable type 'Self.State.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
156 |         value: value,
157 |         valueIsEqualTo: { $0 as? Value == value }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/IdentifiedArray+Observation.swift:130:23: warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
128 |     self.store = store
129 |     store._$observationRegistrar.access(store, keyPath: \.currentState)
130 |     self.data = store.withState { $0 }
    |                       `- warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
131 |   }
132 |
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/NavigationStack+Observation.swift:483:16: warning: 'scope(state:action:)' is deprecated: renamed to 'scope(_:action:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
481 |       #if DEBUG && !os(visionOS)
482 |         _PerceptionLocals.$isInPerceptionTracking.withValue(isInViewBody) {
483 |           self.scope(state: state, action: action)
    |                |- warning: 'scope(state:action:)' is deprecated: renamed to 'scope(_:action:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
    |                `- note: use 'scope(_:action:)' instead
484 |         }
485 |       #else
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Observation/Store+Observation.swift:894:16: warning: 'scope(state:action:fileID:filePath:line:column:)' is deprecated: renamed to 'scope(_:action:fileID:filePath:line:column:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 892 |       #if DEBUG && !os(visionOS)
 893 |         _PerceptionLocals.$isInPerceptionTracking.withValue(isInViewBody) {
 894 |           self.scope(
     |                |- warning: 'scope(state:action:fileID:filePath:line:column:)' is deprecated: renamed to 'scope(_:action:fileID:filePath:line:column:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |                `- note: use 'scope(_:action:fileID:filePath:line:column:)' instead
 895 |             state: state,
 896 |             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: warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
391 |         return core.didSet
392 |           .prefix { [weak self] _ in self?.core.isInvalid == false }
393 |           .compactMap { [weak self] in (self?.withState(\.self) as? T)?._$id }
    |                                               `- warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
394 |           .removeDuplicates()
395 |           .dropFirst()
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:45:19: warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 43 |       let keyPath = keyPath.unsafeSendable()
 44 |       return AnyCasePath(
 45 |         embed: { .set(keyPath, $0) },
    |                   `- warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 46 |         extract: { $0.keyPath == keyPath ? $0.value as? Value : nil }
 47 |       )
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:46:23: warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 44 |       return AnyCasePath(
 45 |         embed: { .set(keyPath, $0) },
 46 |         extract: { $0.keyPath == keyPath ? $0.value as? Value : nil }
    |                       `- warning: capture of non-Sendable type 'Root.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 47 |       )
 48 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/SwiftUI/Binding.swift:106:28: warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
104 | extension BindableAction {
105 |   public var binding: BindingAction<State>? {
106 |     AnyCasePath(unsafe: { .binding($0) }).extract(from: self)
    |                            `- warning: capture of non-Sendable type 'Self.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
107 |   }
108 | }
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:1134:13: warning: 'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
1132 |           var expectedWhenGivenPreviousState = current
1133 |           if let updateStateToExpectedResult {
1134 |             withExpectedIssue(isIntermittent: true) {
     |             |- warning: 'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |             `- note: use 'expectReportsIssue' instead
1135 |               do {
1136 |                 try Dependencies.withDependencies {
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:2209:9: warning: 'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
2207 |     case .off(let showSkippedAssertions):
2208 |       if showSkippedAssertions {
2209 |         withExpectedIssue {
     |         |- warning: 'withExpectedIssue(_:isIntermittent:fileID:filePath:line:column:_:)' is deprecated: Prefer 'expectReportsIssue' to assert against expected issues; to preserve 'withKnownIssue' soft failures, use '_withKnownIssue' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
     |         `- note: use 'expectReportsIssue' instead
2210 |           reportIssue(
2211 |             """
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/TestStore.swift:2532:26: warning: '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:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
2530 |   operation: () async throws -> R
2531 | ) async rethrows -> R {
2532 |   let result = try await withIssueContext(
     |                          `- warning: '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:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
2533 |     fileID: fileID,
2534 |     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: warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
1335 |         to another case:
1336 |
1337 |             \(debugCaseOutput(self.store.wrappedValue.withState { $0 }))
     |                                                       `- warning: '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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
1338 |
1339 |         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: warning: 'weak' ownership of capture 'store' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
2702 |       binding: ViewStore(self.store, observe: { $0[keyPath: keyPath].wrappedValue })
2703 |         .binding(
2704 |           send: { value in
     |                 |- note: 'store' implicitly strongly captured here
     |                 `- note: add 'store' as a capture list item to silence
2705 |             #if DEBUG
2706 |               let debugger = BindableActionViewStoreDebugger(
     :
2708 |                 bindableActionType: self.bindableActionType,
2709 |                 context: .bindingStore,
2710 |                 isInvalidated: { [weak store] in store?.core.isInvalid ?? true },
     |                                        |- warning: 'weak' ownership of capture 'store' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
     |                                        `- note: explicitly assign the capture list item to silence
2711 |                 fileID: self.fileID,
2712 |                 filePath: self.filePath,
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Internal/Deprecations.swift:2753:36: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
2744 |     return self.binding(
2745 |       get: { $0[keyPath: keyPath].wrappedValue },
2746 |       send: { value in
     |             |- note: 'self' implicitly strongly captured here
     |             `- note: add 'self' as a capture list item to silence
2747 |         #if DEBUG
2748 |           let bindingState = self.state[keyPath: keyPath]
     :
2751 |             bindableActionType: ViewAction.self,
2752 |             context: .bindingState,
2753 |             isInvalidated: { [weak self] in self?.store.core.isInvalid ?? true },
     |                                    |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
     |                                    `- note: explicitly assign the capture list item to silence
2754 |             fileID: bindingState.fileID,
2755 |             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: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
235 |       return self.child
236 |         ._reduce(into: &childState, action: childAction)
237 |         .map { [toChildAction] in toChildAction.embed($0) }
    |          `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
238 |
239 |     case .keyPath(let toChildState):
/Users/admin/builder/spi-builder-workspace/Sources/ComposableArchitecture/Reducer/Reducers/Scope.swift:242:10: warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
240 |       return self.child
241 |         ._reduce(into: &state[keyPath: toChildState], action: childAction)
242 |         .map { [toChildAction] in toChildAction.embed($0) }
    |          `- warning: 'map' is deprecated: Avoid transforming effects; construct them directly in a feature instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
243 |     }
244 |   }
[#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.