Build Information
Failed to build SwiftfulRouting, reference 5.3.6 (bf0a8b
), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 16:18:13 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
[16/34] Compiling SwiftfulRouting AnyRoute.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:51:22: error: 'ActionSheet' is unavailable in macOS
49 |
50 | /// iOS 14 support for ConfirmationDialog
51 | var actionSheet: ActionSheet {
| `- error: 'ActionSheet' is unavailable in macOS
52 | let titleView = Text(title)
53 |
SwiftUI.ActionSheet:6:15: note: 'ActionSheet' has been explicitly marked unavailable here
4 | @available(watchOS, introduced: 6.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
5 | @available(visionOS, introduced: 1.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
6 | public struct ActionSheet {
| `- note: 'ActionSheet' has been explicitly marked unavailable here
7 | public init(title: Text, message: Text? = nil, buttons: [ActionSheet.Button] = [.cancel()])
8 | public typealias Button = Alert.Button
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:59:16: error: 'ActionSheet' is unavailable in macOS
57 | }
58 |
59 | return ActionSheet(title: titleView, message: subtitleView, buttons: buttonsiOS13 ?? [])
| `- error: 'ActionSheet' is unavailable in macOS
60 | }
61 | }
SwiftUI.ActionSheet:6:15: note: 'ActionSheet' has been explicitly marked unavailable here
4 | @available(watchOS, introduced: 6.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
5 | @available(visionOS, introduced: 1.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
6 | public struct ActionSheet {
| `- note: 'ActionSheet' has been explicitly marked unavailable here
7 | public init(title: Text, message: Text? = nil, buttons: [ActionSheet.Button] = [.cancel()])
8 | public typealias Button = Alert.Button
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyRoute.swift:24:16: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | static var root: AnyRoute = {
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/34] Emitting module SwiftfulRouting
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:57:30: error: 'NavigationPath' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
55 | @ViewBuilder var content: Content
56 |
57 | @State private var path: NavigationPath = .init()
| `- error: 'NavigationPath' is only available in macOS 13.0 or newer
58 | @State private var isPushEnabled: Bool = false
59 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:125:17: warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
80 |
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
| `- note: mark the protocol requirement 'showTransition(transition:destination:)' 'async' to allow actor-isolated conformances
83 | func dismissTransition()
84 | var isRootView: Bool { get }
85 | }
86 |
87 | public struct TransitionSupportViewBuilder<Content: View>: View, TransitionSupportRouter {
| `- note: add '@preconcurrency' to the 'TransitionSupportRouter' conformance to defer isolation checking to run time
88 |
89 | let router: AnyRouter
:
123 | }
124 |
125 | public func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View {
| |- warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showTransition(transition:destination:)' to make this instance method not isolated to the actor
126 | let new = AnyTransitionWithDestination(
127 | id: UUID().uuidString,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:144:17: warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
| `- note: mark the protocol requirement 'dismissTransition()' 'async' to allow actor-isolated conformances
84 | var isRootView: Bool { get }
85 | }
:
142 | }
143 |
144 | public func dismissTransition() {
| |- warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissTransition()' to make this instance method not isolated to the actor
145 | guard let index = screens.firstIndex(where: { $0.id == selectedScreen.id }), screens.indices.contains(index - 1) else { return }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:121:16: warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
84 | var isRootView: Bool { get }
| `- note: 'isRootView' declared here
85 | }
86 |
:
119 | }
120 |
121 | public var isRootView: Bool {
| `- warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
122 | screens.count < 2
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:12:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct RouterEnvironmentKey: EnvironmentKey {
12 | public static let defaultValue: AnyRouter = AnyRouter(object: MockRouter())
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
:
21 |
22 | /// Type-erased Router with convenience methods.
23 | public struct AnyRouter: Router {
| `- note: consider making struct 'AnyRouter' conform to the 'Sendable' protocol
24 | private let object: any Router
25 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:210:17: warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
33 | }
34 |
35 | struct RouterViewInternal<Content:View>: View, Router {
| `- note: add '@preconcurrency' to the 'Router' conformance to defer isolation checking to run time
36 |
37 | @Environment(\.presentationMode) var presentationMode
:
208 |
209 | /// Show a flow of screens, segueing to the first route immediately. The following routes can be accessed via 'showNextScreen()'.
210 | public func enterScreenFlow(_ newRoutes: [AnyRoute]) {
| |- warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'enterScreenFlow' to make this instance method not isolated to the actor
211 | guard let route = newRoutes.first else {
212 | print(printPrefix + "You must include at least one Route to enterScreenFlow.")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:12:10: note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
10 |
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
| `- note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:225:17: warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
223 | }
224 |
225 | public func showNextScreen() throws {
| |- warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showNextScreen()' to make this instance method not isolated to the actor
226 | guard
227 | let currentFlow = routes.last(where: { flow in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:13:10: note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
| `- note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
14 | func dismissScreen()
15 | func dismissEnvironment()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:501:17: warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
499 | }
500 |
501 | public func dismissScreen() {
| |- warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreen()' to make this instance method not isolated to the actor
502 | self.presentationMode.wrappedValue.dismiss()
503 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:14:10: note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
14 | func dismissScreen()
| `- note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:505:17: warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
503 | }
504 |
505 | public func dismissEnvironment() {
| |- warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissEnvironment()' to make this instance method not isolated to the actor
506 | if let environmentRouter {
507 | environmentRouter.dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:15:10: note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
15 | func dismissEnvironment()
| `- note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:514:17: warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
512 |
513 | @available(iOS 16, *)
514 | public func dismissScreenStack() {
| |- warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreenStack()' to make this instance method not isolated to the actor
515 | // This will dismiss current screen and all screens pushed onto the current NavigationStack
516 | // .push, .sheet, .push, .push, .push, .sheet, .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:17:10: note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
| `- note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:278:17: warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
276 |
277 | @available(iOS 16, *)
278 | public func pushScreenStack(destinations: [PushRoute]) {
| |- warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pushScreenStack(destinations:)' to make this instance method not isolated to the actor
279 | // iOS 16 supports NavigationStack, which can push a stack of views and increment an existing view stack
280 | self.segueOption = .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:20:10: note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
20 | func pushScreenStack(destinations: [PushRoute])
| `- note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
21 |
22 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:310:17: warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 |
309 | @available(iOS 16, *)
310 | public func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool = false, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V) {
| |- warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' to make this instance method not isolated to the actor
311 | let newRoute = AnyRoute(.sheet, onDismiss: onDismiss, destination: destination)
312 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:24:10: note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
22 |
23 | @available(iOS 16, *)
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
| `- note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:576:17: warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
574 | extension RouterViewInternal {
575 |
576 | public func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?) {
| |- warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' to make this instance method not isolated to the actor
577 | guard self.alert == nil else {
578 | dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:26:10: note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
| `- note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
27 |
28 | func dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:586:17: warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
584 | }
585 |
586 | public func dismissAlert() {
| |- warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAlert()' to make this instance method not isolated to the actor
587 | self.alert = nil
588 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:28:10: note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
27 |
28 | func dismissAlert()
| `- note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:596:17: warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
594 | extension RouterViewInternal {
595 |
596 | public func showModal<T:View>(
| |- warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' to make this instance method not isolated to the actor
597 | id: String? = nil,
598 | transition: AnyTransition,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:30:10: note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
28 | func dismissAlert()
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
| `- note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:612:17: warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
610 | }
611 |
612 | public func dismissModal(id: String? = nil) {
| |- warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissModal(id:)' to make this instance method not isolated to the actor
613 | if let id {
614 | if let index = modals.lastIndex(where: { $0.id == id && !$0.didDismiss }) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:31:10: note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
| `- note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:633:17: warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
631 | }
632 |
633 | public func dismissAllModals() {
| |- warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAllModals()' to make this instance method not isolated to the actor
634 | // Dismiss all modals
635 | for (index, modal) in modals.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:32:10: note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
| `- note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
33 |
34 | func showSafari(_ url: @escaping () -> URL)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:334:17: warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
332 | }
333 |
334 | public func showSafari(_ url: @escaping () -> URL) {
| |- warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showSafari' to make this instance method not isolated to the actor
335 | openURL(url())
336 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:34:10: note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
34 | func showSafari(_ url: @escaping () -> URL)
| `- note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:57:34: error: 'PresentationDetent' is only available in macOS 13.0 or newer
55 |
56 | @available(iOS 16, *)
57 | extension Binding where Value == PresentationDetent {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing extension
58 |
59 | init(selection: Binding<PresentationDetentTransformable>) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:51:22: error: 'ActionSheet' is unavailable in macOS
49 |
50 | /// iOS 14 support for ConfirmationDialog
51 | var actionSheet: ActionSheet {
| `- error: 'ActionSheet' is unavailable in macOS
52 | let titleView = Text(title)
53 |
SwiftUI.ActionSheet:6:15: note: 'ActionSheet' has been explicitly marked unavailable here
4 | @available(watchOS, introduced: 6.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
5 | @available(visionOS, introduced: 1.0, deprecated: 100000.0, message: "use `View.confirmationDialog(title:isPresented:titleVisibility:presenting:actions:)`instead.")
6 | public struct ActionSheet {
| `- note: 'ActionSheet' has been explicitly marked unavailable here
7 | public init(title: Text, message: Text? = nil, buttons: [ActionSheet.Button] = [.cancel()])
8 | public typealias Button = Alert.Button
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyRoute.swift:24:16: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | static var root: AnyRoute = {
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/ModalConfiguration.swift:19:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import SwiftUI
10 |
11 | public struct ModalConfiguration {
| `- note: consider making struct 'ModalConfiguration' conform to the 'Sendable' protocol
12 | let transition: AnyTransition
13 | let animation: Animation
:
17 | let ignoreSafeArea: Bool
18 |
19 | static let `default` = ModalConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | transition: .move(edge: .bottom),
21 | animation: .easeInOut,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:50:18: error: 'PresentationDetent' is only available in macOS 13.0 or newer
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: add @available attribute to enclosing enum
43 | case medium
44 | case large
:
48 |
49 | @available(iOS 16.0, *)
50 | init(detent: PresentationDetent) {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing initializer
51 | // FIXME: Unable to convert .height(CGFloat) and .fraction(CGFloat) back from PresentationDetent to PresentationDetentTransformable
52 | switch detent {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:63:31: error: 'PresentationDetent' is only available in macOS 13.0 or newer
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: add @available attribute to enclosing enum
43 | case medium
44 | case large
:
61 |
62 | @available(iOS 16.0, *)
63 | var asPresentationDetent: PresentationDetent {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing property
64 | switch self {
65 | case .medium:
[18/34] Compiling SwiftfulRouting OnFirstAppearModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:46:26: error: 'presentationDetents(_:selection:)' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
44 | if sheetSelectionEnabled {
45 | self
46 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }), selection: Binding(selection: sheetSelection))
| |- error: 'presentationDetents(_:selection:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
47 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
48 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:47:26: error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
45 | self
46 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }), selection: Binding(selection: sheetSelection))
47 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
| |- error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
48 | } else {
49 | self
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:50:26: error: 'presentationDetents' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
48 | } else {
49 | self
50 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }))
| |- error: 'presentationDetents' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
51 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:51:26: error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
49 | self
50 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }))
51 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
| |- error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
52 | }
53 | } else {
[19/34] Compiling SwiftfulRouting SheetViewModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:46:26: error: 'presentationDetents(_:selection:)' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
44 | if sheetSelectionEnabled {
45 | self
46 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }), selection: Binding(selection: sheetSelection))
| |- error: 'presentationDetents(_:selection:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
47 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
48 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:47:26: error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
45 | self
46 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }), selection: Binding(selection: sheetSelection))
47 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
| |- error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
48 | } else {
49 | self
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:50:26: error: 'presentationDetents' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
48 | } else {
49 | self
50 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }))
| |- error: 'presentationDetents' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
51 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/ViewModifiers/SheetViewModifier.swift:51:26: error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
34 | }
35 |
36 | extension View {
| `- note: add @available attribute to enclosing extension
37 |
38 | @ViewBuilder func presentationDetentsIfNeeded(
| `- note: add @available attribute to enclosing instance method
39 | sheetDetents: Set<PresentationDetentTransformable>,
40 | sheetSelection: Binding<PresentationDetentTransformable>,
:
49 | self
50 | .presentationDetents(sheetDetents.setMap({ $0.asPresentationDetent }))
51 | .presentationDragIndicator(showDragIndicator ? .visible : .hidden)
| |- error: 'presentationDragIndicator' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
52 | }
53 | } else {
[20/34] Compiling SwiftfulRouting ModalSupportView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:57:30: error: 'NavigationPath' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
55 | @ViewBuilder var content: Content
56 |
57 | @State private var path: NavigationPath = .init()
| `- error: 'NavigationPath' is only available in macOS 13.0 or newer
58 | @State private var isPushEnabled: Bool = false
59 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:61:9: error: 'NavigationStack' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
| |- error: 'NavigationStack' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
62 | content
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:75:10: warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
62 | content
:
73 | }
74 | }
75 | .onChange(of: path, perform: { path in
| |- warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
| `- note: add 'if #available' version check
76 | if path.count < screens.count {
77 | onDismissLastPush()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:219:19: error: cannot find 'UIScreen' in scope
217 |
218 | private func getRotation(translation: CGSize) -> CGFloat {
219 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
220 | let percentage = translation.width * rotationMultiplier / max
221 | let maxRotation: CGFloat = 10
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:226:19: error: cannot find 'UIScreen' in scope
224 |
225 | private func getScale(translation: CGSize) -> CGFloat {
226 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
227 |
228 | var offsetAmount: CGFloat = 0
[21/34] Compiling SwiftfulRouting NavigationViewIfNeeded.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:57:30: error: 'NavigationPath' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
55 | @ViewBuilder var content: Content
56 |
57 | @State private var path: NavigationPath = .init()
| `- error: 'NavigationPath' is only available in macOS 13.0 or newer
58 | @State private var isPushEnabled: Bool = false
59 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:61:9: error: 'NavigationStack' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
| |- error: 'NavigationStack' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
62 | content
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:75:10: warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
62 | content
:
73 | }
74 | }
75 | .onChange(of: path, perform: { path in
| |- warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
| `- note: add 'if #available' version check
76 | if path.count < screens.count {
77 | onDismissLastPush()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:219:19: error: cannot find 'UIScreen' in scope
217 |
218 | private func getRotation(translation: CGSize) -> CGFloat {
219 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
220 | let percentage = translation.width * rotationMultiplier / max
221 | let maxRotation: CGFloat = 10
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:226:19: error: cannot find 'UIScreen' in scope
224 |
225 | private func getScale(translation: CGSize) -> CGFloat {
226 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
227 |
228 | var offsetAmount: CGFloat = 0
[22/34] Compiling SwiftfulRouting SwipeBackSupportContainer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:57:30: error: 'NavigationPath' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
55 | @ViewBuilder var content: Content
56 |
57 | @State private var path: NavigationPath = .init()
| `- error: 'NavigationPath' is only available in macOS 13.0 or newer
58 | @State private var isPushEnabled: Bool = false
59 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:61:9: error: 'NavigationStack' is only available in macOS 13.0 or newer
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
| |- error: 'NavigationStack' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
62 | content
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/NavigationViewIfNeeded.swift:75:10: warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
42 |
43 | @available(iOS 16, *)
44 | struct NavigationStackTransformable<Content:View>: View {
| `- note: add @available attribute to enclosing generic struct
45 |
46 | // Convert [AnyDestination] to NavigationPath
:
58 | @State private var isPushEnabled: Bool = false
59 |
60 | var body: some View {
| `- note: add @available attribute to enclosing property
61 | NavigationStack(path: $path) {
62 | content
:
73 | }
74 | }
75 | .onChange(of: path, perform: { path in
| |- warning: conformance of 'NavigationPath' to 'Equatable' is only available in macOS 13.0 or newer; this is an error in the Swift 6 language mode
| `- note: add 'if #available' version check
76 | if path.count < screens.count {
77 | onDismissLastPush()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:219:19: error: cannot find 'UIScreen' in scope
217 |
218 | private func getRotation(translation: CGSize) -> CGFloat {
219 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
220 | let percentage = translation.width * rotationMultiplier / max
221 | let maxRotation: CGFloat = 10
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/SwipeBackSupportContainer.swift:226:19: error: cannot find 'UIScreen' in scope
224 |
225 | private func getScale(translation: CGSize) -> CGFloat {
226 | let max = UIScreen.main.bounds.width / 2
| `- error: cannot find 'UIScreen' in scope
227 |
228 | var offsetAmount: CGFloat = 0
[23/34] Compiling SwiftfulRouting TransitionSupportView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:125:17: warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
80 |
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
| `- note: mark the protocol requirement 'showTransition(transition:destination:)' 'async' to allow actor-isolated conformances
83 | func dismissTransition()
84 | var isRootView: Bool { get }
85 | }
86 |
87 | public struct TransitionSupportViewBuilder<Content: View>: View, TransitionSupportRouter {
| `- note: add '@preconcurrency' to the 'TransitionSupportRouter' conformance to defer isolation checking to run time
88 |
89 | let router: AnyRouter
:
123 | }
124 |
125 | public func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View {
| |- warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showTransition(transition:destination:)' to make this instance method not isolated to the actor
126 | let new = AnyTransitionWithDestination(
127 | id: UUID().uuidString,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:144:17: warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
| `- note: mark the protocol requirement 'dismissTransition()' 'async' to allow actor-isolated conformances
84 | var isRootView: Bool { get }
85 | }
:
142 | }
143 |
144 | public func dismissTransition() {
| |- warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissTransition()' to make this instance method not isolated to the actor
145 | guard let index = screens.firstIndex(where: { $0.id == selectedScreen.id }), screens.indices.contains(index - 1) else { return }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:121:16: warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
84 | var isRootView: Bool { get }
| `- note: 'isRootView' declared here
85 | }
86 |
:
119 | }
120 |
121 | public var isRootView: Bool {
| `- warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
122 | screens.count < 2
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:287:23: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
287 | identity: CustomRemovalTransition(option: nil)
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | )
289 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:12:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct RouterEnvironmentKey: EnvironmentKey {
12 | public static let defaultValue: AnyRouter = AnyRouter(object: MockRouter())
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
:
21 |
22 | /// Type-erased Router with convenience methods.
23 | public struct AnyRouter: Router {
| `- note: consider making struct 'AnyRouter' conform to the 'Sendable' protocol
24 | private let object: any Router
25 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| |- warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'direction.some' to main actor-isolated initializer 'init(option:)' risks causing data races between main actor-isolated and task-isolated uses
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:105:17: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
103 | showAlert(.alert, title: text) {
104 | Button("OK") {
105 | action?()
| |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'action' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 | }
107 | }
[24/34] Compiling SwiftfulRouting VisualEffectViewRepresentable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:125:17: warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
80 |
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
| `- note: mark the protocol requirement 'showTransition(transition:destination:)' 'async' to allow actor-isolated conformances
83 | func dismissTransition()
84 | var isRootView: Bool { get }
85 | }
86 |
87 | public struct TransitionSupportViewBuilder<Content: View>: View, TransitionSupportRouter {
| `- note: add '@preconcurrency' to the 'TransitionSupportRouter' conformance to defer isolation checking to run time
88 |
89 | let router: AnyRouter
:
123 | }
124 |
125 | public func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View {
| |- warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showTransition(transition:destination:)' to make this instance method not isolated to the actor
126 | let new = AnyTransitionWithDestination(
127 | id: UUID().uuidString,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:144:17: warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
| `- note: mark the protocol requirement 'dismissTransition()' 'async' to allow actor-isolated conformances
84 | var isRootView: Bool { get }
85 | }
:
142 | }
143 |
144 | public func dismissTransition() {
| |- warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissTransition()' to make this instance method not isolated to the actor
145 | guard let index = screens.firstIndex(where: { $0.id == selectedScreen.id }), screens.indices.contains(index - 1) else { return }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:121:16: warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
84 | var isRootView: Bool { get }
| `- note: 'isRootView' declared here
85 | }
86 |
:
119 | }
120 |
121 | public var isRootView: Bool {
| `- warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
122 | screens.count < 2
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:287:23: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
287 | identity: CustomRemovalTransition(option: nil)
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | )
289 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:12:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct RouterEnvironmentKey: EnvironmentKey {
12 | public static let defaultValue: AnyRouter = AnyRouter(object: MockRouter())
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
:
21 |
22 | /// Type-erased Router with convenience methods.
23 | public struct AnyRouter: Router {
| `- note: consider making struct 'AnyRouter' conform to the 'Sendable' protocol
24 | private let object: any Router
25 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| |- warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'direction.some' to main actor-isolated initializer 'init(option:)' risks causing data races between main actor-isolated and task-isolated uses
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:105:17: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
103 | showAlert(.alert, title: text) {
104 | Button("OK") {
105 | action?()
| |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'action' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 | }
107 | }
[25/34] Compiling SwiftfulRouting AnyRouter.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:125:17: warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
80 |
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
| `- note: mark the protocol requirement 'showTransition(transition:destination:)' 'async' to allow actor-isolated conformances
83 | func dismissTransition()
84 | var isRootView: Bool { get }
85 | }
86 |
87 | public struct TransitionSupportViewBuilder<Content: View>: View, TransitionSupportRouter {
| `- note: add '@preconcurrency' to the 'TransitionSupportRouter' conformance to defer isolation checking to run time
88 |
89 | let router: AnyRouter
:
123 | }
124 |
125 | public func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View {
| |- warning: main actor-isolated instance method 'showTransition(transition:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showTransition(transition:destination:)' to make this instance method not isolated to the actor
126 | let new = AnyTransitionWithDestination(
127 | id: UUID().uuidString,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:144:17: warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
81 | public protocol TransitionSupportRouter {
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
| `- note: mark the protocol requirement 'dismissTransition()' 'async' to allow actor-isolated conformances
84 | var isRootView: Bool { get }
85 | }
:
142 | }
143 |
144 | public func dismissTransition() {
| |- warning: main actor-isolated instance method 'dismissTransition()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissTransition()' to make this instance method not isolated to the actor
145 | guard let index = screens.firstIndex(where: { $0.id == selectedScreen.id }), screens.indices.contains(index - 1) else { return }
146 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:121:16: warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
82 | func showTransition<T>(transition: TransitionOption, destination: @escaping (AnyRouter) -> T) where T : View
83 | func dismissTransition()
84 | var isRootView: Bool { get }
| `- note: 'isRootView' declared here
85 | }
86 |
:
119 | }
120 |
121 | public var isRootView: Bool {
| `- warning: main actor-isolated property 'isRootView' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
122 | screens.count < 2
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:287:23: warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 |
223 | struct CustomRemovalTransition: ViewModifier {
| `- note: calls to initializer 'init(option:)' from outside of its actor context are implicitly asynchronous
224 | let option: TransitionOption?
225 | @State private var frame: CGRect = .zero
:
282 | extension AnyTransition {
283 |
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
| `- note: add '@MainActor' to make static method 'customRemoval(direction:)' part of global actor 'MainActor'
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
287 | identity: CustomRemovalTransition(option: nil)
| `- warning: call to main actor-isolated initializer 'init(option:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | )
289 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:12:23: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public struct RouterEnvironmentKey: EnvironmentKey {
12 | public static let defaultValue: AnyRouter = AnyRouter(object: MockRouter())
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AnyRouter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
:
21 |
22 | /// Type-erased Router with convenience methods.
23 | public struct AnyRouter: Router {
| `- note: consider making struct 'AnyRouter' conform to the 'Sendable' protocol
24 | private let object: any Router
25 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Components/TransitionSupportView.swift:286:21: warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
284 | static func customRemoval(direction: TransitionOption) -> AnyTransition {
285 | .modifier(
286 | active: CustomRemovalTransition(option: direction),
| |- warning: sending 'direction.some' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'direction.some' to main actor-isolated initializer 'init(option:)' risks causing data races between main actor-isolated and task-isolated uses
287 | identity: CustomRemovalTransition(option: nil)
288 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/AnyRouter.swift:105:17: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
103 | showAlert(.alert, title: text) {
104 | Button("OK") {
105 | action?()
| |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'action' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 | }
107 | }
[26/34] Compiling SwiftfulRouting DialogOption.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/ModalConfiguration.swift:19:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import SwiftUI
10 |
11 | public struct ModalConfiguration {
| `- note: consider making struct 'ModalConfiguration' conform to the 'Sendable' protocol
12 | let transition: AnyTransition
13 | let animation: Animation
:
17 | let ignoreSafeArea: Bool
18 |
19 | static let `default` = ModalConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | transition: .move(edge: .bottom),
21 | animation: .easeInOut,
[27/34] Compiling SwiftfulRouting ModalConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/ModalConfiguration.swift:19:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import SwiftUI
10 |
11 | public struct ModalConfiguration {
| `- note: consider making struct 'ModalConfiguration' conform to the 'Sendable' protocol
12 | let transition: AnyTransition
13 | let animation: Animation
:
17 | let ignoreSafeArea: Bool
18 |
19 | static let `default` = ModalConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | transition: .move(edge: .bottom),
21 | animation: .easeInOut,
[28/34] Compiling SwiftfulRouting SegueOption.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/ModalConfiguration.swift:19:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import SwiftUI
10 |
11 | public struct ModalConfiguration {
| `- note: consider making struct 'ModalConfiguration' conform to the 'Sendable' protocol
12 | let transition: AnyTransition
13 | let animation: Animation
:
17 | let ignoreSafeArea: Bool
18 |
19 | static let `default` = ModalConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ModalConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | transition: .move(edge: .bottom),
21 | animation: .easeInOut,
[29/34] Compiling SwiftfulRouting Router.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:210:17: warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
33 | }
34 |
35 | struct RouterViewInternal<Content:View>: View, Router {
| `- note: add '@preconcurrency' to the 'Router' conformance to defer isolation checking to run time
36 |
37 | @Environment(\.presentationMode) var presentationMode
:
208 |
209 | /// Show a flow of screens, segueing to the first route immediately. The following routes can be accessed via 'showNextScreen()'.
210 | public func enterScreenFlow(_ newRoutes: [AnyRoute]) {
| |- warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'enterScreenFlow' to make this instance method not isolated to the actor
211 | guard let route = newRoutes.first else {
212 | print(printPrefix + "You must include at least one Route to enterScreenFlow.")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:12:10: note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
10 |
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
| `- note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:225:17: warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
223 | }
224 |
225 | public func showNextScreen() throws {
| |- warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showNextScreen()' to make this instance method not isolated to the actor
226 | guard
227 | let currentFlow = routes.last(where: { flow in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:13:10: note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
| `- note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
14 | func dismissScreen()
15 | func dismissEnvironment()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:501:17: warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
499 | }
500 |
501 | public func dismissScreen() {
| |- warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreen()' to make this instance method not isolated to the actor
502 | self.presentationMode.wrappedValue.dismiss()
503 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:14:10: note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
14 | func dismissScreen()
| `- note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:505:17: warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
503 | }
504 |
505 | public func dismissEnvironment() {
| |- warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissEnvironment()' to make this instance method not isolated to the actor
506 | if let environmentRouter {
507 | environmentRouter.dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:15:10: note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
15 | func dismissEnvironment()
| `- note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:514:17: warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
512 |
513 | @available(iOS 16, *)
514 | public func dismissScreenStack() {
| |- warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreenStack()' to make this instance method not isolated to the actor
515 | // This will dismiss current screen and all screens pushed onto the current NavigationStack
516 | // .push, .sheet, .push, .push, .push, .sheet, .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:17:10: note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
| `- note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:278:17: warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
276 |
277 | @available(iOS 16, *)
278 | public func pushScreenStack(destinations: [PushRoute]) {
| |- warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pushScreenStack(destinations:)' to make this instance method not isolated to the actor
279 | // iOS 16 supports NavigationStack, which can push a stack of views and increment an existing view stack
280 | self.segueOption = .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:20:10: note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
20 | func pushScreenStack(destinations: [PushRoute])
| `- note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
21 |
22 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:310:17: warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 |
309 | @available(iOS 16, *)
310 | public func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool = false, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V) {
| |- warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' to make this instance method not isolated to the actor
311 | let newRoute = AnyRoute(.sheet, onDismiss: onDismiss, destination: destination)
312 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:24:10: note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
22 |
23 | @available(iOS 16, *)
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
| `- note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:576:17: warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
574 | extension RouterViewInternal {
575 |
576 | public func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?) {
| |- warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' to make this instance method not isolated to the actor
577 | guard self.alert == nil else {
578 | dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:26:10: note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
| `- note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
27 |
28 | func dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:586:17: warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
584 | }
585 |
586 | public func dismissAlert() {
| |- warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAlert()' to make this instance method not isolated to the actor
587 | self.alert = nil
588 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:28:10: note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
27 |
28 | func dismissAlert()
| `- note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:596:17: warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
594 | extension RouterViewInternal {
595 |
596 | public func showModal<T:View>(
| |- warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' to make this instance method not isolated to the actor
597 | id: String? = nil,
598 | transition: AnyTransition,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:30:10: note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
28 | func dismissAlert()
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
| `- note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:612:17: warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
610 | }
611 |
612 | public func dismissModal(id: String? = nil) {
| |- warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissModal(id:)' to make this instance method not isolated to the actor
613 | if let id {
614 | if let index = modals.lastIndex(where: { $0.id == id && !$0.didDismiss }) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:31:10: note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
| `- note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:633:17: warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
631 | }
632 |
633 | public func dismissAllModals() {
| |- warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAllModals()' to make this instance method not isolated to the actor
634 | // Dismiss all modals
635 | for (index, modal) in modals.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:32:10: note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
| `- note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
33 |
34 | func showSafari(_ url: @escaping () -> URL)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:334:17: warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
332 | }
333 |
334 | public func showSafari(_ url: @escaping () -> URL) {
| |- warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showSafari' to make this instance method not isolated to the actor
335 | openURL(url())
336 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:34:10: note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
34 | func showSafari(_ url: @escaping () -> URL)
| `- note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyRoute.swift:24:16: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | static var root: AnyRoute = {
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
[30/34] Compiling SwiftfulRouting RouterView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:210:17: warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
33 | }
34 |
35 | struct RouterViewInternal<Content:View>: View, Router {
| `- note: add '@preconcurrency' to the 'Router' conformance to defer isolation checking to run time
36 |
37 | @Environment(\.presentationMode) var presentationMode
:
208 |
209 | /// Show a flow of screens, segueing to the first route immediately. The following routes can be accessed via 'showNextScreen()'.
210 | public func enterScreenFlow(_ newRoutes: [AnyRoute]) {
| |- warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'enterScreenFlow' to make this instance method not isolated to the actor
211 | guard let route = newRoutes.first else {
212 | print(printPrefix + "You must include at least one Route to enterScreenFlow.")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:12:10: note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
10 |
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
| `- note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:225:17: warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
223 | }
224 |
225 | public func showNextScreen() throws {
| |- warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showNextScreen()' to make this instance method not isolated to the actor
226 | guard
227 | let currentFlow = routes.last(where: { flow in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:13:10: note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
| `- note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
14 | func dismissScreen()
15 | func dismissEnvironment()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:501:17: warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
499 | }
500 |
501 | public func dismissScreen() {
| |- warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreen()' to make this instance method not isolated to the actor
502 | self.presentationMode.wrappedValue.dismiss()
503 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:14:10: note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
14 | func dismissScreen()
| `- note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:505:17: warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
503 | }
504 |
505 | public func dismissEnvironment() {
| |- warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissEnvironment()' to make this instance method not isolated to the actor
506 | if let environmentRouter {
507 | environmentRouter.dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:15:10: note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
15 | func dismissEnvironment()
| `- note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:514:17: warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
512 |
513 | @available(iOS 16, *)
514 | public func dismissScreenStack() {
| |- warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreenStack()' to make this instance method not isolated to the actor
515 | // This will dismiss current screen and all screens pushed onto the current NavigationStack
516 | // .push, .sheet, .push, .push, .push, .sheet, .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:17:10: note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
| `- note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:278:17: warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
276 |
277 | @available(iOS 16, *)
278 | public func pushScreenStack(destinations: [PushRoute]) {
| |- warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pushScreenStack(destinations:)' to make this instance method not isolated to the actor
279 | // iOS 16 supports NavigationStack, which can push a stack of views and increment an existing view stack
280 | self.segueOption = .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:20:10: note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
20 | func pushScreenStack(destinations: [PushRoute])
| `- note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
21 |
22 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:310:17: warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 |
309 | @available(iOS 16, *)
310 | public func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool = false, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V) {
| |- warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' to make this instance method not isolated to the actor
311 | let newRoute = AnyRoute(.sheet, onDismiss: onDismiss, destination: destination)
312 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:24:10: note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
22 |
23 | @available(iOS 16, *)
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
| `- note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:576:17: warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
574 | extension RouterViewInternal {
575 |
576 | public func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?) {
| |- warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' to make this instance method not isolated to the actor
577 | guard self.alert == nil else {
578 | dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:26:10: note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
| `- note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
27 |
28 | func dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:586:17: warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
584 | }
585 |
586 | public func dismissAlert() {
| |- warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAlert()' to make this instance method not isolated to the actor
587 | self.alert = nil
588 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:28:10: note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
27 |
28 | func dismissAlert()
| `- note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:596:17: warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
594 | extension RouterViewInternal {
595 |
596 | public func showModal<T:View>(
| |- warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' to make this instance method not isolated to the actor
597 | id: String? = nil,
598 | transition: AnyTransition,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:30:10: note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
28 | func dismissAlert()
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
| `- note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:612:17: warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
610 | }
611 |
612 | public func dismissModal(id: String? = nil) {
| |- warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissModal(id:)' to make this instance method not isolated to the actor
613 | if let id {
614 | if let index = modals.lastIndex(where: { $0.id == id && !$0.didDismiss }) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:31:10: note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
| `- note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:633:17: warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
631 | }
632 |
633 | public func dismissAllModals() {
| |- warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAllModals()' to make this instance method not isolated to the actor
634 | // Dismiss all modals
635 | for (index, modal) in modals.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:32:10: note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
| `- note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
33 |
34 | func showSafari(_ url: @escaping () -> URL)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:334:17: warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
332 | }
333 |
334 | public func showSafari(_ url: @escaping () -> URL) {
| |- warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showSafari' to make this instance method not isolated to the actor
335 | openURL(url())
336 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:34:10: note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
34 | func showSafari(_ url: @escaping () -> URL)
| `- note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyRoute.swift:24:16: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | static var root: AnyRoute = {
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
[31/34] Compiling SwiftfulRouting Array+EXT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:210:17: warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
33 | }
34 |
35 | struct RouterViewInternal<Content:View>: View, Router {
| `- note: add '@preconcurrency' to the 'Router' conformance to defer isolation checking to run time
36 |
37 | @Environment(\.presentationMode) var presentationMode
:
208 |
209 | /// Show a flow of screens, segueing to the first route immediately. The following routes can be accessed via 'showNextScreen()'.
210 | public func enterScreenFlow(_ newRoutes: [AnyRoute]) {
| |- warning: main actor-isolated instance method 'enterScreenFlow' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'enterScreenFlow' to make this instance method not isolated to the actor
211 | guard let route = newRoutes.first else {
212 | print(printPrefix + "You must include at least one Route to enterScreenFlow.")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:12:10: note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
10 |
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
| `- note: mark the protocol requirement 'enterScreenFlow' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:225:17: warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
223 | }
224 |
225 | public func showNextScreen() throws {
| |- warning: main actor-isolated instance method 'showNextScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showNextScreen()' to make this instance method not isolated to the actor
226 | guard
227 | let currentFlow = routes.last(where: { flow in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:13:10: note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
11 | public protocol Router {
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
| `- note: mark the protocol requirement 'showNextScreen()' 'async' to allow actor-isolated conformances
14 | func dismissScreen()
15 | func dismissEnvironment()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:501:17: warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
499 | }
500 |
501 | public func dismissScreen() {
| |- warning: main actor-isolated instance method 'dismissScreen()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreen()' to make this instance method not isolated to the actor
502 | self.presentationMode.wrappedValue.dismiss()
503 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:14:10: note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
12 | func enterScreenFlow(_ routes: [AnyRoute])
13 | func showNextScreen() throws
14 | func dismissScreen()
| `- note: mark the protocol requirement 'dismissScreen()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:505:17: warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
503 | }
504 |
505 | public func dismissEnvironment() {
| |- warning: main actor-isolated instance method 'dismissEnvironment()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissEnvironment()' to make this instance method not isolated to the actor
506 | if let environmentRouter {
507 | environmentRouter.dismissScreen()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:15:10: note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
13 | func showNextScreen() throws
14 | func dismissScreen()
15 | func dismissEnvironment()
| `- note: mark the protocol requirement 'dismissEnvironment()' 'async' to allow actor-isolated conformances
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:514:17: warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
512 |
513 | @available(iOS 16, *)
514 | public func dismissScreenStack() {
| |- warning: main actor-isolated instance method 'dismissScreenStack()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissScreenStack()' to make this instance method not isolated to the actor
515 | // This will dismiss current screen and all screens pushed onto the current NavigationStack
516 | // .push, .sheet, .push, .push, .push, .sheet, .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:17:10: note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
15 | func dismissEnvironment()
16 | @available(iOS 16, *)
17 | func dismissScreenStack()
| `- note: mark the protocol requirement 'dismissScreenStack()' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:278:17: warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
276 |
277 | @available(iOS 16, *)
278 | public func pushScreenStack(destinations: [PushRoute]) {
| |- warning: main actor-isolated instance method 'pushScreenStack(destinations:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pushScreenStack(destinations:)' to make this instance method not isolated to the actor
279 | // iOS 16 supports NavigationStack, which can push a stack of views and increment an existing view stack
280 | self.segueOption = .push
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:20:10: note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
18 |
19 | @available(iOS 16, *)
20 | func pushScreenStack(destinations: [PushRoute])
| `- note: mark the protocol requirement 'pushScreenStack(destinations:)' 'async' to allow actor-isolated conformances
21 |
22 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:310:17: warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 |
309 | @available(iOS 16, *)
310 | public func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool = false, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V) {
| |- warning: main actor-isolated instance method 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' to make this instance method not isolated to the actor
311 | let newRoute = AnyRoute(.sheet, onDismiss: onDismiss, destination: destination)
312 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:24:10: note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
22 |
23 | @available(iOS 16, *)
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
| `- note: mark the protocol requirement 'showResizableSheet(sheetDetents:selection:showDragIndicator:onDismiss:destination:)' 'async' to allow actor-isolated conformances
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:576:17: warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
574 | extension RouterViewInternal {
575 |
576 | public func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?) {
| |- warning: main actor-isolated instance method 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' to make this instance method not isolated to the actor
577 | guard self.alert == nil else {
578 | dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:26:10: note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
24 | func showResizableSheet<V:View>(sheetDetents: Set<PresentationDetentTransformable>, selection: Binding<PresentationDetentTransformable>?, showDragIndicator: Bool, onDismiss: (() -> Void)?, @ViewBuilder destination: @escaping (AnyRouter) -> V)
25 |
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
| `- note: mark the protocol requirement 'showAlert(_:title:subtitle:alert:buttonsiOS13:)' 'async' to allow actor-isolated conformances
27 |
28 | func dismissAlert()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:586:17: warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
584 | }
585 |
586 | public func dismissAlert() {
| |- warning: main actor-isolated instance method 'dismissAlert()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAlert()' to make this instance method not isolated to the actor
587 | self.alert = nil
588 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:28:10: note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
26 | func showAlert<T:View>(_ option: DialogOption, title: String, subtitle: String?, @ViewBuilder alert: @escaping () -> T, buttonsiOS13: [Alert.Button]?)
27 |
28 | func dismissAlert()
| `- note: mark the protocol requirement 'dismissAlert()' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:596:17: warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
594 | extension RouterViewInternal {
595 |
596 | public func showModal<T:View>(
| |- warning: main actor-isolated instance method 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' to make this instance method not isolated to the actor
597 | id: String? = nil,
598 | transition: AnyTransition,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:30:10: note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
28 | func dismissAlert()
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
| `- note: mark the protocol requirement 'showModal(id:transition:animation:alignment:backgroundColor:dismissOnBackgroundTap:ignoreSafeArea:destination:)' 'async' to allow actor-isolated conformances
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:612:17: warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
610 | }
611 |
612 | public func dismissModal(id: String? = nil) {
| |- warning: main actor-isolated instance method 'dismissModal(id:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissModal(id:)' to make this instance method not isolated to the actor
613 | if let id {
614 | if let index = modals.lastIndex(where: { $0.id == id && !$0.didDismiss }) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:31:10: note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
29 |
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
| `- note: mark the protocol requirement 'dismissModal(id:)' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:633:17: warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
631 | }
632 |
633 | public func dismissAllModals() {
| |- warning: main actor-isolated instance method 'dismissAllModals()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'dismissAllModals()' to make this instance method not isolated to the actor
634 | // Dismiss all modals
635 | for (index, modal) in modals.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:32:10: note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
30 | func showModal<V:View>(id: String?, transition: AnyTransition, animation: Animation, alignment: Alignment, backgroundColor: Color?, dismissOnBackgroundTap: Bool, ignoreSafeArea: Bool, @ViewBuilder destination: @escaping () -> V)
31 | func dismissModal(id: String?)
32 | func dismissAllModals()
| `- note: mark the protocol requirement 'dismissAllModals()' 'async' to allow actor-isolated conformances
33 |
34 | func showSafari(_ url: @escaping () -> URL)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/RouterView.swift:334:17: warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
332 | }
333 |
334 | public func showSafari(_ url: @escaping () -> URL) {
| |- warning: main actor-isolated instance method 'showSafari' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'showSafari' to make this instance method not isolated to the actor
335 | openURL(url())
336 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Core/Router.swift:34:10: note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
32 | func dismissAllModals()
33 |
34 | func showSafari(_ url: @escaping () -> URL)
| `- note: mark the protocol requirement 'showSafari' 'async' to allow actor-isolated conformances
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyRoute.swift:24:16: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | static var root: AnyRoute = {
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | var route = AnyRoute(.push) { router in
26 | AnyView(Text("Root"))
[32/34] Compiling SwiftfulRouting Binding+EXT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:57:34: error: 'PresentationDetent' is only available in macOS 13.0 or newer
55 |
56 | @available(iOS 16, *)
57 | extension Binding where Value == PresentationDetent {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing extension
58 |
59 | init(selection: Binding<PresentationDetentTransformable>) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:15:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | } set: { _ in
17 | value.wrappedValue = nil
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:17:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
16 | } set: { _ in
17 | value.wrappedValue = nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:34: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:28:13: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | selected == option ? value.wrappedValue : nil
27 | } set: { newValue in
28 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:13: warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:25: warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:34: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:39:13: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | selected == option ? value.wrappedValue : nil
38 | } set: { newValue in
39 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:34: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:50:13: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | selected == option ? value.wrappedValue : []
49 | } set: { newValue in
50 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 | }
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:61:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | init(selection: Binding<PresentationDetentTransformable>) {
60 | self.init {
61 | selection.wrappedValue.asPresentationDetent
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:63:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | selection.wrappedValue.asPresentationDetent
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:74:13: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 | } set: { newValue in
76 | if let newValue {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:78:32: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
:
76 | if let newValue {
77 | // Check for newValue in array before updating
78 | if let index = array.wrappedValue.firstIndex(of: newValue) {
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | array.wrappedValue[index] = newValue
80 | }
[33/34] Compiling SwiftfulRouting Set+EXT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:57:34: error: 'PresentationDetent' is only available in macOS 13.0 or newer
55 |
56 | @available(iOS 16, *)
57 | extension Binding where Value == PresentationDetent {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing extension
58 |
59 | init(selection: Binding<PresentationDetentTransformable>) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:15:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | } set: { _ in
17 | value.wrappedValue = nil
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:17:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
16 | } set: { _ in
17 | value.wrappedValue = nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:34: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:28:13: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | selected == option ? value.wrappedValue : nil
27 | } set: { newValue in
28 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:13: warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:25: warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:34: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:39:13: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | selected == option ? value.wrappedValue : nil
38 | } set: { newValue in
39 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:34: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:50:13: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | selected == option ? value.wrappedValue : []
49 | } set: { newValue in
50 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 | }
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:61:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | init(selection: Binding<PresentationDetentTransformable>) {
60 | self.init {
61 | selection.wrappedValue.asPresentationDetent
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:63:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | selection.wrappedValue.asPresentationDetent
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:74:13: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 | } set: { newValue in
76 | if let newValue {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:78:32: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
:
76 | if let newValue {
77 | // Check for newValue in array before updating
78 | if let index = array.wrappedValue.firstIndex(of: newValue) {
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | array.wrappedValue[index] = newValue
80 | }
[34/34] Compiling SwiftfulRouting View+EXT.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:57:34: error: 'PresentationDetent' is only available in macOS 13.0 or newer
55 |
56 | @available(iOS 16, *)
57 | extension Binding where Value == PresentationDetent {
| | `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
| `- note: add @available attribute to enclosing extension
58 |
59 | init(selection: Binding<PresentationDetentTransformable>) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:15:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 | } set: { _ in
17 | value.wrappedValue = nil
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:17:13: warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | extension Binding where Value == Bool {
12 |
13 | init<T:Any>(ifNotNil value: Binding<T?>) {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
14 | self.init {
15 | value.wrappedValue != nil
16 | } set: { _ in
17 | value.wrappedValue = nil
| `- warning: capture of 'value' with non-sendable type 'Binding<T?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 | }
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:26:34: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | init(if selected: SegueOption, is option: SegueOption, value: Binding<AnyDestination?>) {
25 | self.init {
26 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | } set: { newValue in
28 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:28:13: warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | selected == option ? value.wrappedValue : nil
27 | } set: { newValue in
28 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyDestination?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:13: warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'selected' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:25: warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'option' with non-sendable type 'DialogOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/DialogOption.swift:10:13: note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum DialogOption {
| `- note: consider making enum 'DialogOption' conform to the 'Sendable' protocol
11 | case alert, confirmationDialog
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:37:34: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | init(if selected: DialogOption, is option: DialogOption, value: Binding<AnyAlert?>) {
36 | self.init {
37 | selected == option ? value.wrappedValue : nil
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 | } set: { newValue in
39 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:39:13: warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | selected == option ? value.wrappedValue : nil
38 | } set: { newValue in
39 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<AnyAlert?>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
40 | }
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyAlert.swift:11:8: note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | struct AnyAlert: Identifiable {
| `- note: consider making struct 'AnyAlert' conform to the 'Sendable' protocol
12 | let id = UUID().uuidString
13 | let title: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:13: warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'selected' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:25: warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'option' with non-sendable type 'SegueOption' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SegueOption.swift:10:13: note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum SegueOption: Equatable {
| `- note: consider making enum 'SegueOption' conform to the 'Sendable' protocol
11 | case push, sheet
12 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:48:34: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | init(if selected: SegueOption, is option: SegueOption, value: Binding<[AnyDestination]>) {
47 | self.init {
48 | selected == option ? value.wrappedValue : []
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } set: { newValue in
50 | value.wrappedValue = newValue
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:50:13: warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | selected == option ? value.wrappedValue : []
49 | } set: { newValue in
50 | value.wrappedValue = newValue
| `- warning: capture of 'value' with non-sendable type 'Binding<[AnyDestination]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 | }
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Models/AnyDestination.swift:11:15: note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
9 | import SwiftUI
10 |
11 | public struct AnyDestination: Identifiable, Hashable {
| `- note: consider making struct 'AnyDestination' conform to the 'Sendable' protocol
12 | public let id = UUID().uuidString
13 | public let destination: AnyView
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:61:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | init(selection: Binding<PresentationDetentTransformable>) {
60 | self.init {
61 | selection.wrappedValue.asPresentationDetent
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:63:13: warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | selection.wrappedValue.asPresentationDetent
62 | } set: { newValue in
63 | selection.wrappedValue = PresentationDetentTransformable(detent: newValue)
| `- warning: capture of 'selection' with non-sendable type 'Binding<PresentationDetentTransformable>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Options/SheetConfiguration.swift:42:13: note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
40 | //}
41 |
42 | public enum PresentationDetentTransformable: Hashable {
| `- note: consider making enum 'PresentationDetentTransformable' conform to the 'Sendable' protocol
43 | case medium
44 | case large
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:74:13: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 | } set: { newValue in
76 | if let newValue {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftfulRouting/Extensions/Binding+EXT.swift:78:32: warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
70 | extension Binding {
71 |
72 | init<V:Hashable>(toLastElementIn array: Binding<[V]>) where Value == V? {
| `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
73 | self.init {
74 | array.wrappedValue.last
:
76 | if let newValue {
77 | // Check for newValue in array before updating
78 | if let index = array.wrappedValue.firstIndex(of: newValue) {
| `- warning: capture of 'array' with non-sendable type 'Binding<[V]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | array.wrappedValue[index] = newValue
80 | }
Fetching https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git
[1/40] Fetching swiftfulrecursiveui
Fetched https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git from cache (0.68s)
Computing version for https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git
Computed https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git at 1.0.1 (0.49s)
Creating working copy for https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git
Working copy of https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git resolved at 1.0.1
BUILD FAILURE 6.0 macosSpm