The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build SwiftfulRouting, reference main (033418), with Swift 6.0 for macOS (SPM) on 23 Sep 2024 07:54:34 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

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 |                 }
[18/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 |                 }
[19/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 |                 }
[20/34] Compiling SwiftfulRouting AnyAlert.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"))
[21/34] Compiling SwiftfulRouting AnyDestination.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"))
[22/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)
[23/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:
[24/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
[25/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
[26/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
[27/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 {
[28/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 {
[29/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 |         }
[30/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 |         }
[31/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 |         }
[32/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"))
[33/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"))
[34/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"))
Fetching https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git
[1/40] Fetching swiftfulrecursiveui
Fetched https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git from cache (0.70s)
Computing version for https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git
Computed https://github.com/SwiftfulThinking/SwiftfulRecursiveUI.git at 1.0.1 (0.57s)
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