Build Information
Successful build of swift-composable-architecture, reference main (f8158b), with Swift 6.2 for macOS (SPM) on 15 Nov 2025 03:18:01 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
| ├─suggestion: Replace '9jd7x' with '(_,_,UInt64?,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: CaseKeyPath<Action, Value>, _ value: Value, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : CasePathable, Value : Equatable'
| ╰─suggestion: Replace '9jd7x' with '(_,_,Duration,_,_,_,_,_)' for '@MainActor func receive<Value>(_ actionCase: _SendableCaseKeyPath<Action, Value>, _ value: Value, timeout duration: Duration, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async where Action : CasePathable, Value : Equatable, Value : Sendable'
26 | - ``assert(_:fileID:file:line:column:)``
27 | - ``finish(timeout:fileID:file:line:column:)-klnc``
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Extensions/TestStore.md:39:42-39:48
37 |
38 | While the most common way of interacting with a test store's state is via its
39 + ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
40 | ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` methods, you may also access it
41 | directly throughout a test.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Extensions/TestStore.md:40:53-40:59
38 | While the most common way of interacting with a test store's state is via its
39 | ``send(_:assert:fileID:file:line:column:)-8f2pl`` and
40 + ``receive(_:timeout:assert:fileID:file:line:column:)-53wic`` methods, you may also access it
| ├─suggestion: Replace '53wic' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
41 | directly throughout a test.
42 |
warning: 'ObjectiveC' doesn't exist at '/ComposableArchitecture/UIKit'
--> Extensions/UIKit.md:14:5-14:15
12 | ### Subscribing to state changes
13 |
14 + - ``ObjectiveC/NSObject/observe(_:)-94oxy``
15 | - ``ObservationToken``
16 |
warning: 'ObservationToken' doesn't exist at '/ComposableArchitecture/UIKit'
--> Extensions/UIKit.md:15:5-15:21
13 |
14 | - ``ObjectiveC/NSObject/observe(_:)-94oxy``
15 + - ``ObservationToken``
16 |
17 | ### Presenting alerts and action sheets
warning: 'UIAlertController' doesn't exist at '/ComposableArchitecture/UIKit'
--> Extensions/UIKit.md:19:11-19:28
17 | ### Presenting alerts and action sheets
18 |
19 + - ``UIKit/UIAlertController``
20 |
21 | ### Stack-based navigation
warning: 'UIKitNavigation' doesn't exist at '/ComposableArchitecture/UIKit'
--> Extensions/UIKit.md:23:5-23:20
21 | ### Stack-based navigation
22 |
23 + - ``UIKitNavigation/NavigationStackController``
24 | - ``UIKitNavigation/UIPushAction``
25 |
warning: 'UIKitNavigation' doesn't exist at '/ComposableArchitecture/UIKit'
--> Extensions/UIKit.md:24:5-24:20
22 |
23 | - ``UIKitNavigation/NavigationStackController``
24 + - ``UIKitNavigation/UIPushAction``
25 |
26 | ### Combine integration
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/BuildingSyncUps/02-ListsOfSyncUps/TestingListOfSyncUps.tutorial:55:83-55:89
53 | @Step {
54 | Provide a trailing closure to
55 + ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` that mutates the state
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
56 | to its final value. In particular, we expect the `syncUps` to be an empty array, and for
57 | no other changes to happen.
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:52:96-52:102
50 |
51 | The way one integrates an optional child feature into a parent feature is via the
52 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
53 | reducer operator. It allows you to single out the presentation domain of a child feature
54 | embedded in the parent feature, and then specify the child reducer to run on that domain. It
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:115:44-115:51
113 | Luckily the library comes with the tools necessary. Just as there is a scoping operation on
114 | stores for focusing on sub-domains of a parent domain, there is also a scope on _bindings_ of
115 + stores for doing the same: ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)``. This tool can
116 | be used to derive a binding that is appropriate to pass to `sheet(item:)`.
117 |
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/PresentingSyncUpForm.tutorial:130:27-130:34
128 |
129 | @Step {
130 + Use the ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` operator on `$store` to focus
131 | the binding to the presentation domain of the `SyncUpForm`. The `sheet(item:)` modifier will
132 | hand the trailing closure a `StoreOf<SyncUpForm>`, and that is exactly what can be handed to
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/TestingSyncUpFormPresentation.tutorial:204:81-204:87
202 | Already we can see a difference between non-exhaustive and exhaustive test stores. We are not
203 | specifying the trailing closure in
204 + ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` to assert on state
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
205 | changes, yet the test will still pass.
206 |
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> Tutorials/BuildingSyncUps/04-PresentingSyncUpForm/TestingSyncUpFormPresentation.tutorial:209:81-209:87
207 | A non-exhaustive store operates similarly to an exhaustive one, but with a few key
208 | differences. In a non-exhaustive store, the `$0` handed to the trailing closure of
209 + ``ComposableArchitecture/TestStore/send(_:assert:fileID:file:line:column:)-8f2pl`` is the state _after_
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
210 | the action has been processed, whereas in an exhaustive test store it is the state _before_.
211 | This means in non-exhaustive test stores you do not have make any mutations in the trailing
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/06-SyncUpDetail/EditingAndDeletingSyncUp.tutorial:42:98-42:104
40 | @Step {
41 | Integrate the `SyncUpForm` reducer into the `SyncUpDetail` reducer by using the
42 + ``ComposableArchitecture/Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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(state:action:fileID:filePath:line:column:)``.
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: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/SyncUpDetailNavigation.tutorial:168:60-168:66
166 | @Step {
167 | For the root view we can construct the `SyncUpsListView` by using
168 + ``ComposableArchitecture/Store/scope(state:action:)-90255`` on the `store` to isolate
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
169 | the `SyncUpsList` domain.
170 |
warning: 'Destination-and-path-reducers' doesn't exist at '/ComposableArchitecture/Reducer'
--> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/SyncUpDetailNavigation.tutorial:180:26-180:55
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: 'Shared' doesn't exist at '/ComposableArchitecture'
--> Tutorials/BuildingSyncUps/07-SyncUpDetailNavigation/TestingNavigation.tutorial:49:51-49:57
47 | We will first emulate the user tapping on the sync-up in the list, which means sending a
48 | ``ComposableArchitecture/StackAction/push(id:state:)`` action. However, to send that
49 + action we need a ``ComposableArchitecture/Shared`` reference to the sync-up in the list.
| ├─suggestion: Replace 'Shared' with 'Sharing'
| ╰─suggestion: Replace 'Shared' with 'SharingState'
50 |
51 | @Code(name: "AppFeatureTests.swift", file: TestingNavigation-01-code-0004.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState : _EphemeralState'
| ├─suggestion: Replace '3ux09' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState : _EphemeralState'
| ├─suggestion: Replace '-3ux09' with '->_IfLetReducer<Self,EmptyReducer<WrappedState,WrappedAction>>' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.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<Self.Action,WrappedAction>,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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: 'Shared' doesn't exist at '/ComposableArchitecture'
--> Tutorials/BuildingSyncUps/08-RecordMeeting/RecordMeetingFeature.tutorial:32:58-32:64
30 | button for skipping a speaker's turn.
31 |
32 + > Note: We are using [`@Shared`](<doc:ComposableArchitecture/Shared>) on the sync-up so
33 | that this feature can make mutations to sync-up that are visible to other parts of the
34 | application.
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: ((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: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> Tutorials/MeetTheComposableArchitecture/01-Essentials/04-ComposingFeatures/01-04-ComposingFeatures.tutorial:198:68-198:74
196 |
197 | @Step {
198 + Use the ``ComposableArchitecture/Store/scope(state:action:)-90255`` method on
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
199 | ``ComposableArchitecture/Store`` to derive a child store focused in on just the `tab1`
200 | domain. This is done by using key path syntax to single out the field of the state and
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> Tutorials/MeetTheComposableArchitecture/01-Essentials/04-ComposingFeatures/01-04-ComposingFeatures.tutorial:235:68-235:74
233 | and using the ``ComposableArchitecture/Scope`` reducer to focus in on a sub-domain of
234 | the parent to run a child reducer. Then in the view you derive child stores from the parent
235 + using the ``ComposableArchitecture/Store/scope(state:action:)-90255`` and hand those child
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
236 | stores to the child views.
237 |
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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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:168:14-168:72
166 |
167 | /// A type that can send actions back into the system when used from
168 + /// ``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:)'
169 | ///
170 | /// 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:190:18-190:76
188 | /// ```
189 | ///
190 + /// 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:)'
191 | /// use this value to construct effects that can emit any number of times in an asynchronous
192 | /// context.
warning: 'run(priority:operation:catch:fileID:filePath:line:column:)' doesn't exist at '/ComposableArchitecture/Effect'
--> ../Effects/TaskResult.swift:32:38-32:96
30 | /// ```
31 | ///
32 + /// And finally you can use ``Effect/run(priority:operation:catch:fileID:filePath:line:column:)`` to construct an
| ╰─suggestion: Replace 'run(priority:operation:catch:fileID:filePath:line:column:)' with 'run(priority:name:operation:catch:fileID:filePath:line:column:)'
33 | /// effect in the reducer that invokes the `numberFact` endpoint and wraps its response in a
34 | /// ``TaskResult`` by using its catching initializer, ``TaskResult/init(catching:)``:
warning: 'Reducers' doesn't exist at '/ComposableArchitecture/_SynthesizedConformance'
--> ../Macros.swift:52:14-52:22
50 | /// the ``Reducer()`` macro.
51 | ///
52 + /// See <doc:Reducers#Synthesizing-protocol-conformances-on-State-and-Action> for more information.
53 | @_documentation(visibility: public)
54 | #if compiler(>=6)
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:92:21-92:28
90 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
91 | ///
92 + /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
93 | /// information.
94 | #if swift(>=5.10)
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:115:21-115:28
113 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
114 | ///
115 + /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
116 | /// information.
117 | public func scope<State: ObservableState, Action, ElementState, ElementAction>(
warning: 'Binding' doesn't exist at '/ComposableArchitecture/SwiftUI'
--> ../Observation/NavigationStack+Observation.swift:129:21-129:28
127 | /// Derives a binding to a store focused on ``StackState`` and ``StackAction``.
128 | ///
129 + /// See ``SwiftUI/Binding/scope(state:action:fileID:filePath:line:column:)`` defined on `Binding` for more
130 | /// information.
131 | #if swift(>=5.10)
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<Self.Action,(ID,ElementAction)>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: AnyCasePath<Self.Action, (ID, ElementAction)>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
| ╰─suggestion: Replace '6zye8' with '(_,CaseKeyPath<Self.Action,IdentifiedAction<ID,ElementAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: CaseKeyPath<Self.Action, IdentifiedAction<ID, ElementAction>>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
7 | public enum IdentifiedAction<ID: Hashable & Sendable, Action>: CasePathable {
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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: AnyCasePath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where WrappedState == Wrapped.State, WrappedAction == Wrapped.Action, Wrapped : Reducer'
| ╰─suggestion: Replace '2r2pn' with '(_,CaseKeyPath<Self.Action,WrappedAction>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<WrappedState, WrappedAction, Wrapped>(_ toWrappedState: WritableKeyPath<Self.State, WrappedState?>, action toWrappedAction: CaseKeyPath<Self.Action, WrappedAction>, @ReducerBuilder<WrappedState, WrappedAction> then wrapped: () -> Wrapped, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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:234:85-234:91
232 | ///
233 | /// Use this wrapper type for modeling a feature's domain that needs to present a child
234 + /// feature using ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q``.
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
235 | ///
236 | /// 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:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @warn_unqualified_access
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/PresentationReducer.swift:433:95-433:101
431 | }
432 |
433 + /// A special overload of ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` for alerts
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
434 | /// and confirmation dialogs that does not require a child reducer.
435 | @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<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.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: '7sg8d' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../Reducer/Reducers/Scope.swift:207:79-207:85
205 | /// >
206 | /// > If the parent domain contains additional logic for switching between cases of child state,
207 + /// > prefer ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d``, which better ensures that
| ├─suggestion: Replace '-7sg8d' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
| ╰─suggestion: Replace '-7sg8d' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.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'
208 | /// > child logic runs _before_ any parent logic can replace child state:
209 | /// >
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<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.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:246:73-246:79
244 | ///
245 | /// Use this type for modeling a feature's domain that needs to present child features using
246 + /// ``Reducer/forEach(_:action:destination:fileID:filePath:line:column:)-9svqb``.
| ├─suggestion: Replace '9svqb' with '(_,AnyCasePath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: AnyCasePath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '9svqb' with '(_,CaseKeyPath<Self.Action,StackAction<DestinationState,DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<DestinationState, DestinationAction, Destination>(_ toStackState: WritableKeyPath<Self.State, StackState<DestinationState>>, action toStackAction: CaseKeyPath<Self.Action, StackAction<DestinationState, DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
247 | ///
248 | /// See the dedicated article on <doc:Navigation> for more information on the library's navigation
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> ../Store.swift:26:47-26:53
24 | /// ```
25 | ///
26 + /// …and then use the ``scope(state:action:)-90255`` method to derive more focused stores that can be
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
27 | /// passed to subviews.
28 | ///
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> ../Store.swift:31:84-31:90
29 | /// ### Scoping
30 | ///
31 + /// The most important operation defined on ``Store`` is the ``scope(state:action:)-90255`` method,
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
32 | /// which allows you to transform a store into one that deals with child state and actions. This is
33 | /// necessary for passing stores to subviews that only care about a small portion of the entire
warning: '90255' isn't a disambiguation for 'scope(state:action:)' at '/ComposableArchitecture/Store'
--> ../Store.swift:58:89-58:95
56 | /// ```
57 | ///
58 + /// We can construct a view for each of these domains by applying ``scope(state:action:)-90255`` to
| ├─suggestion: Replace '90255' with '((State)->ChildState,_)' for '@MainActor func scope<ChildState, ChildAction>(state toChildState: @escaping (State) -> ChildState, action fromChildAction: @escaping (ChildAction) -> Action) -> Store<ChildState, ChildAction>'
| ╰─suggestion: Replace '90255' with '(KeyPath<State,ChildState>,_)' for '@MainActor func scope<ChildState, ChildAction>(state: KeyPath<State, ChildState>, action: CaseKeyPath<Action, ChildAction>) -> Store<ChildState, ChildAction>'
59 | /// a store that holds onto the full app domain in order to transform it into a store for each
60 | /// subdomain:
warning: '4ub6q' isn't a disambiguation for 'ifLet(_:action:destination:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../SwiftUI/Deprecated/NavigationLinkStore.swift:11:98-11:104
9 | /// Typically you use this view by first modeling your features as having a parent feature that
10 | /// holds onto an optional piece of child state using the ``PresentationState``,
11 + /// ``PresentationAction`` and ``Reducer/ifLet(_:action:destination:fileID:filePath:line:column:)-4ub6q`` tools (see
| ├─suggestion: Replace '4ub6q' with '(_,AnyCasePath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: AnyCasePath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
| ╰─suggestion: Replace '4ub6q' with '(_,CaseKeyPath<Self.Action,PresentationAction<DestinationAction>>,_,_,_,_,_)' for '@warn_unqualified_access func ifLet<DestinationState, DestinationAction, Destination>(_ toPresentationState: WritableKeyPath<Self.State, PresentationState<DestinationState>>, action toPresentationAction: CaseKeyPath<Self.Action, PresentationAction<DestinationAction>>, @ReducerBuilder<DestinationState, DestinationAction> destination: () -> Destination, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where DestinationState == Destination.State, DestinationAction == Destination.Action, Destination : Reducer'
12 | /// <doc:TreeBasedNavigation> for more information). Then in the view you can construct a
13 | /// `NavigationLinkStore` by passing a ``Store`` that is focused on the presentation domain:
warning: '6zye8' isn't a disambiguation for 'forEach(_:action:element:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../SwiftUI/ForEachStore.swift:64:69-64:75
62 | ///
63 | /// Enhance its core reducer using
64 + /// ``Reducer/forEach(_:action:element:fileID:filePath:line:column:)-6zye8``:
| ├─suggestion: Replace '6zye8' with '(_,AnyCasePath<Self.Action,(ID,ElementAction)>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: AnyCasePath<Self.Action, (ID, ElementAction)>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
| ╰─suggestion: Replace '6zye8' with '(_,CaseKeyPath<Self.Action,IdentifiedAction<ID,ElementAction>>,_,_,_,_,_)' for '@warn_unqualified_access func forEach<ElementState, ElementAction, ID, Element>(_ toElementsState: WritableKeyPath<Self.State, IdentifiedArray<ID, ElementState>>, action toElementAction: CaseKeyPath<Self.Action, IdentifiedAction<ID, ElementAction>>, @ReducerBuilder<ElementState, ElementAction> element: () -> Element, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where ElementState == Element.State, ElementAction == Element.Action, ID : Hashable, ID : Sendable, Element : Reducer'
65 | ///
66 | /// ```swift
warning: '7sg8d' isn't a disambiguation for 'ifCaseLet(_:action:then:fileID:filePath:line:column:)' at '/ComposableArchitecture/Reducer'
--> ../SwiftUI/SwitchStore.swift:53:72-53:78
51 | /// > current case, _e.g._ by switching on it and routing to an appropriate `CaseLet`.
52 | ///
53 + /// See ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d`` and
| ├─suggestion: Replace '-7sg8d' with '->Reducer<Self.State,Self.Action>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: AnyCasePath<Self.State, CaseState>, action toCaseAction: AnyCasePath<Self.Action, CaseAction>, @ReducerBuilder<CaseState, CaseAction> then case: () -> Case, fileID: StaticString = #fileID, filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) -> some Reducer<Self.State, Self.Action> where CaseState == Case.State, CaseAction == Case.Action, Case : Reducer'
| ╰─suggestion: Replace '-7sg8d' with '->_IfCaseLetReducer<Self,Case>' for '@warn_unqualified_access func ifCaseLet<CaseState, CaseAction, Case>(_ toCaseState: CaseKeyPath<Self.State, CaseState>, action toCaseAction: CaseKeyPath<Self.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'
54 | /// ``Scope/init(state:action:child:fileID:filePath:line:column:)-9g44g`` for embedding reducers
55 | /// that operate on each case of an enum in reducers that operate on the entire enum.
warning: '9g44g' isn't a disambiguation for 'init(state:action:child:fileID:filePath:line:column:)' at '/ComposableArchitecture/Scope'
--> ../SwiftUI/SwitchStore.swift:54:66-54:72
52 | ///
53 | /// See ``Reducer/ifCaseLet(_:action:then:fileID:filePath:line:column:)-7sg8d`` and
54 + /// ``Scope/init(state:action:child:fileID:filePath:line:column:)-9g44g`` for embedding reducers
| ├─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'
55 | /// that operate on each case of an enum in reducers that operate on the entire enum.
56 | @available(
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: ((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: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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: ((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: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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:486:48-486:54
484 | ///
485 | /// When read from a trailing closure assertion in
486 + /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
| ├─suggestion: Replace '8f2pl' with '(Action,_,_,_,_,_)' for '@discardableResult @MainActor func send(_ action: Action, assert updateStateToExpectedResult: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
487 | /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk``, it will equal the `inout` state
488 | /// passed to the
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:487:59-487:65
485 | /// When read from a trailing closure assertion in
486 | /// ``send(_:assert:fileID:file:line:column:)-8f2pl`` or
487 + /// ``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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
488 | /// passed to the
489 | /// closure.
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:497:59-497:65
495 | ///
496 | /// This is the default timeout used in all methods that take an optional timeout, such as
497 + /// ``receive(_:timeout:assert:fileID:file:line:column:)-8zqxk`` and
| ├─suggestion: Replace '8zqxk' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
498 | /// ``finish(timeout:fileID:file:line:column:)-klnc``.
499 | public var timeout: UInt64
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1544:85-1544:91
1542 | /// state changes.
1543 | ///
1544 + /// 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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1545 | /// it allows you to assert that an action was received that matches a predicate instead of a case
1546 | /// key path:
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1563:59-1563:65
1561 | ///
1562 | /// If you only want to check that a particular action case was received, then you might find the
1563 + /// ``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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1564 | /// useful.
1565 | ///
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1603:85-1603:91
1601 | /// state changes.
1602 | ///
1603 + /// 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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1604 | /// it allows you to assert that an action was received that matches a predicate instead of a case
1605 | /// key path:
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1622:59-1622:65
1620 | ///
1621 | /// If you only want to check that a particular action case was received, then you might find the
1622 + /// ``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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1623 | /// useful.
1624 | ///
warning: '35638' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1686:85-1686:91
1684 | /// Asserts an action was received matching a case path and asserts how the state changes.
1685 | ///
1686 + /// This method is similar to ``receive(_:timeout:assert:fileID:file:line:column:)-35638``, except
| ├─suggestion: Replace '35638' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1687 | /// it allows you to assert that an action was received that matches a case key path instead of a
1688 | /// predicate.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1743:85-1743:91
1741 | /// the state changes.
1742 | ///
1743 + /// 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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1744 | /// it allows you to assert on the value inside the action too.
1745 | ///
warning: '8zqxk' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1893:85-1893:91
1891 | /// Asserts an action was received matching a case path and asserts how the state changes.
1892 | ///
1893 + /// 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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1894 | /// it allows you to assert that an action was received that matches a case key path instead of a
1895 | /// predicate.
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:1951:85-1951:91
1949 | /// the state changes.
1950 | ///
1951 + /// 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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
1952 | /// it allows you to assert on the value inside the action too.
1953 | ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2258:74-2258:80
2256 | /// Sends an action to the store and asserts when state changes.
2257 | ///
2258 + /// 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: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2259 | /// you to specify a case key path to an action, which can be useful when testing the integration
2260 | /// 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:2306:74-2306:80
2304 | /// Sends an action to the store and asserts when state changes.
2305 | ///
2306 + /// 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: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2307 | /// you to specify a value for the associated value of the action.
2308 | ///
warning: '8f2pl' isn't a disambiguation for 'send(_:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2671:79-2671:85
2669 | }
2670 |
2671 + /// 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: ((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: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async -> TestStoreTask'
2672 | /// lifecycle of the effect started from sending an action.
2673 | ///
warning: '53wic' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2959:69-2959:75
2957 | ///
2958 | /// To partially match an action received from an effect, use
2959 + /// ``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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2960 | /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
2961 |
warning: '35638' isn't a disambiguation for 'receive(_:timeout:assert:fileID:file:line:column:)' at '/ComposableArchitecture/TestStore'
--> ../TestStore.swift:2960:69-2960:75
2958 | /// To partially match an action received from an effect, use
2959 | /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-53wic`` or
2960 + /// ``TestStore/receive(_:timeout:assert:fileID:file:line:column:)-35638``.
| ├─suggestion: Replace '35638' with '(Action,Duration,_,_,_,_,_)' for '@MainActor func receive(_ expectedAction: Action, timeout duration: Duration, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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,Duration,_,_,_,_,_)' for '@MainActor func receive(_ isMatching: (Action) -> Bool, timeout duration: Duration, assert updateStateToExpectedResult: ((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) -> Bool, timeout nanoseconds: UInt64? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((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, assert updateStateToExpectedResult: ((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? = nil, assert updateStateToExpectedResult: ((inout State) throws -> Void)? = nil, fileID: StaticString = #fileID, file filePath: StaticString = #filePath, line: UInt = #line, column: UInt = #column) async'
2961 |
2962 | case on
Finished building documentation for 'ComposableArchitecture' (5.36s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/pointfreeco/swift-composable-architecture/main
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version-49B95AFC49DCD68C.txt
[6/53] Compiling SymbolKit SemanticVersion.swift
[7/53] Compiling SymbolKit AccessControl.swift
[8/53] Compiling SymbolKit Availability.swift
[9/53] Compiling SymbolKit AvailabilityItem.swift
[10/53] Compiling SymbolKit Domain.swift
[11/57] Compiling Snippets Snippet.swift
[12/57] Compiling Snippets SnippetParser.swift
[13/57] Emitting module Snippets
[14/57] Compiling SymbolKit Mixin+Equals.swift
[15/57] Compiling SymbolKit Mixin+Hash.swift
[16/57] Compiling SymbolKit Mixin.swift
[17/57] Compiling SymbolKit LineList.swift
[18/57] Compiling SymbolKit Position.swift
[19/57] Compiling SymbolKit Relationship.swift
[20/57] Compiling SymbolKit RelationshipKind.swift
[21/57] Compiling SymbolKit SourceOrigin.swift
[22/57] Compiling SymbolKit GenericConstraints.swift
[23/57] Compiling SymbolKit Swift.swift
[24/57] Emitting module SymbolKit
[25/57] Compiling SymbolKit SourceRange.swift
[26/57] Compiling SymbolKit Metadata.swift
[27/57] Compiling SymbolKit Module.swift
[28/57] Compiling SymbolKit OperatingSystem.swift
[29/57] Compiling SymbolKit Platform.swift
[30/57] Compiling SymbolKit GenericConstraint.swift
[31/57] Compiling SymbolKit GenericParameter.swift
[32/57] Compiling SymbolKit Generics.swift
[33/57] Compiling SymbolKit Namespace.swift
[34/57] Compiling SymbolKit Symbol.swift
[35/57] Compiling SymbolKit SymbolKind.swift
[36/57] Compiling SymbolKit SymbolGraph.swift
[37/57] Compiling SymbolKit GraphCollector.swift
[38/57] Compiling SymbolKit Identifier.swift
[39/57] Compiling SymbolKit KindIdentifier.swift
[40/57] Compiling SymbolKit Location.swift
[41/57] Compiling SymbolKit Mutability.swift
[42/57] Compiling SymbolKit Names.swift
[43/57] Compiling SymbolKit SPI.swift
[44/57] Compiling SymbolKit Snippet.swift
[45/57] Compiling SymbolKit Extension.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.88s)
Building for debugging...
[0/1] Write swift-version-49B95AFC49DCD68C.txt
Build of target: 'ComposableArchitecture' complete! (1.37s)
15662
143 /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: 15662
Doc size: 143.0MB
Preparing doc bundle ...
Uploading prod-pointfreeco-swift-composable-architecture-main-60bccc2b.zip to s3://spi-docs-inbox/prod-pointfreeco-swift-composable-architecture-main-60bccc2b.zip
Copying... [10%]
Copying... [20%]
Copying... [30%]
Copying... [40%]
Copying... [50%]
Copying... [60%]
Copying... [70%]
Copying... [80%]
Copying... [90%]
Copying... [100%]
Done.