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

Successful build of ScreenUI, reference 1.1.1 (99429b), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 12:44:34 UTC.

Swift 6 data race errors: 4

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/k-o-d-e-n/ScreenUI.git
Reference: 1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/k-o-d-e-n/ScreenUI
 * tag               1.1.1      -> FETCH_HEAD
HEAD is now at 99429b4 Updated to 1.1.1.
Cloned https://github.com/k-o-d-e-n/ScreenUI.git
Revision (git rev-parse @):
99429b497e02b69079d3d60f30b46b426a51208f
SUCCESS checkout https://github.com/k-o-d-e-n/ScreenUI.git at 1.1.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "screenui",
      "name": "ScreenUI",
      "url": "https://github.com/k-o-d-e-n/ScreenUI.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ScreenUI",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/k-o-d-e-n/ScreenUI.git
[1/193] Fetching screenui
Fetched https://github.com/k-o-d-e-n/ScreenUI.git from cache (0.66s)
Creating working copy for https://github.com/k-o-d-e-n/ScreenUI.git
Working copy of https://github.com/k-o-d-e-n/ScreenUI.git resolved at 1.1.1 (99429b4)
warning: '.resolve-product-dependencies': dependency 'screenui' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/k-o-d-e-n/ScreenUI.git
https://github.com/k-o-d-e-n/ScreenUI.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ScreenUI",
  "name" : "ScreenUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ScreenUI",
      "targets" : [
        "ScreenUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ScreenUITests",
      "module_type" : "SwiftTarget",
      "name" : "ScreenUITests",
      "path" : "Tests/ScreenUITests",
      "sources" : [
        "ScreenUITests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ScreenUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ScreenUI",
      "module_type" : "SwiftTarget",
      "name" : "ScreenUI",
      "path" : "Sources/ScreenUI",
      "product_memberships" : [
        "ScreenUI"
      ],
      "sources" : [
        "AppKit.swift",
        "ContentBuilders.swift",
        "Crossplatform.swift",
        "PathProvider.swift",
        "Screen.swift",
        "ScreenBuilder.swift",
        "ScreenPath.swift",
        "ScreenState.swift",
        "SwiftUI.swift",
        "Transition.swift",
        "UIKit.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/13] Compiling ScreenUI Transition.swift
[4/14] Compiling ScreenUI ScreenPath.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenPath.swift:60:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 43 |
 44 | public typealias ScreenPathResult<To> = (state: AnyScreenState, screenContent: To.NestedScreen.Content) where To: Screen
 45 | public struct StartPath<T>: ScreenPath, ScreenPathPrivate, ScreenPathPrivate2 where T: Transition {
    |                         `- note: 'T' previously declared here
 46 |     public typealias From = T.From
 47 |     public typealias To = T.To
    :
 58 |     }
 59 |
 60 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 61 |
 62 |     public func __move(from surface: T.From.Content, completion: (() -> Void)?) -> ScreenPathResult<T.To> {
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenPath.swift:128:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
107 |     }
108 | }
109 | public struct NextPath<Prev, T>: ScreenPath, ScreenPathPrivate, ScreenPathPrivate2
    |                              `- note: 'T' previously declared here
110 | where Prev: ScreenPath & ScreenPathPrivate2, T: Transition, T.From == Prev.To.NestedScreen,
111 |       Prev.Result == ScreenPathResult<Prev.To>
    :
126 |     }
127 |
128 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
129 |
130 |     public func __move(from surface: Prev.From.Content, completion: (() -> Void)?) -> ScreenPathResult<T.To> {
[5/14] Compiling ScreenUI SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:321:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
304 | }
305 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
306 | public struct StartPath_SwiftUI<T>: ScreenPath, ScreenPathPrivate, ScreenPath_SwiftUI where T: SwiftUICompatibleTransition {
    |                                 `- note: 'T' previously declared here
307 |     public typealias From = UnavailableContentScreen<Void>
308 |     public typealias To = T.To
    :
319 |     }
320 |
321 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
322 |     public func index(of keyPath: PartialKeyPath<To.PathFrom>) -> Int { transition.index(of: keyPath) }
323 |     public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { transition.keyPath(at: index) }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:370:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
350 | }
351 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
352 | public struct NextPath_SwiftUI<Prev, T>: ScreenPath, ScreenPathPrivate, ScreenPath_SwiftUI
    |                                      `- note: 'T' previously declared here
353 | where Prev: ScreenPath & ScreenPath_SwiftUI, T: SwiftUICompatibleTransition, Prev.To.NestedScreen == T.From
354 | {
    :
368 |     }
369 |
370 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 |     public func index(of keyPath: PartialKeyPath<To.PathFrom>) -> Int { transition.index(of: keyPath) }
372 |     public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { transition.keyPath(at: index) }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:57:24: warning: call to main actor-isolated initializer 'init(router:content:selectedIndex:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 54 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 55 |
 56 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 57 |             let tabs = TabsView(router: router, content: root.makeContent(context, router: router), selectedIndex: 0)
    |                        `- warning: call to main actor-isolated initializer 'init(router:content:selectedIndex:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 58 |             return (tabs, tabs)
 59 |         }
 60 |
 61 |         public struct TabsView: View, _TabsViewIdentity {
    |                       |- note: calls to initializer 'init(router:content:selectedIndex:)' from outside of its actor context are implicitly asynchronous
    |                       `- note: main actor isolation inferred from conformance to protocol 'View'
 62 |             let router: Router<NestedScreen>
 63 |             let content: Root.Content
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:77:53: warning: converting non-sendable function value to '@isolated(any) @Sendable () -> Int' may introduce data races
 75 |                 )
 76 |                 router.state.selectedIndex_SwiftUI = _binding
 77 |                 let binding = Binding(get: _binding.get, set: _binding.set)
    |                                                     `- warning: converting non-sendable function value to '@isolated(any) @Sendable () -> Int' may introduce data races
 78 |                 return TabView(selection: binding) {
 79 |                     TupleView(content)
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:77:72: warning: converting non-sendable function value to '@isolated(any) @Sendable (Int) -> Void' may introduce data races
 75 |                 )
 76 |                 router.state.selectedIndex_SwiftUI = _binding
 77 |                 let binding = Binding(get: _binding.get, set: _binding.set)
    |                                                                        `- warning: converting non-sendable function value to '@isolated(any) @Sendable (Int) -> Void' may introduce data races
 78 |                 return TabView(selection: binding) {
 79 |                     TupleView(content)
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: call to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
215 | extension Router {
216 |     @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
217 |     public func move<T, ActionView>(
    |                 `- note: add '@MainActor' to make instance method 'move(_:context:action:completion:)' part of global actor 'MainActor'
218 |         _ path: KeyPath<From.PathFrom, T>, context: T.Context,
219 |         @ViewBuilder action view: @escaping (Binding<Bool>) -> ActionView,
    :
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            `- warning: call to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
    :
268 |     let state: ContentScreenState<Transition.To.NestedScreen>
269 |
270 |     init(_ transition: Transition, prevState: ContentScreenState<Transition.From.NestedScreen>,
    |     |- note: calls to initializer 'init(_:prevState:nextState:context:actionView:completion:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
271 |          nextState: ContentScreenState<Transition.To.NestedScreen>, context: Transition.Context,
272 |          @ViewBuilder actionView: @escaping (Binding<Bool>) -> ActionView, completion: (() -> Void)?) {
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: call to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
229 |     }
230 |     @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
231 |     public func move<T, ActionView>(
    |                 `- note: add '@MainActor' to make instance method 'move(_:context:action:completion:)' part of global actor 'MainActor'
232 |         _ path: KeyPath<From.PathFrom, Optional<T>>, context: T.Context,
233 |         @ViewBuilder action view: @escaping (Binding<Bool>) -> ActionView,
    :
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            `- warning: call to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
    :
268 |     let state: ContentScreenState<Transition.To.NestedScreen>
269 |
270 |     init(_ transition: Transition, prevState: ContentScreenState<Transition.From.NestedScreen>,
    |     |- note: calls to initializer 'init(_:prevState:nextState:context:actionView:completion:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
271 |          nextState: ContentScreenState<Transition.To.NestedScreen>, context: Transition.Context,
272 |          @ViewBuilder actionView: @escaping (Binding<Bool>) -> ActionView, completion: (() -> Void)?) {
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:292:45: warning: converting non-sendable function value to '@isolated(any) @Sendable () -> Bool' may introduce data races
290 |         )
291 |         state.isActive_SwiftUI = _binding
292 |         let binding = Binding(get: _binding.get, set: _binding.set)
    |                                             `- warning: converting non-sendable function value to '@isolated(any) @Sendable () -> Bool' may introduce data races
293 |         return transition.move(binding, screenState: state, actionView: actionView(binding), context: context, completion: completion)
294 |             .onDisappear { [weak state] in
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:292:64: warning: converting non-sendable function value to '@isolated(any) @Sendable (Bool) -> Void' may introduce data races
290 |         )
291 |         state.isActive_SwiftUI = _binding
292 |         let binding = Binding(get: _binding.get, set: _binding.set)
    |                                                                `- warning: converting non-sendable function value to '@isolated(any) @Sendable (Bool) -> Void' may introduce data races
293 |         return transition.move(binding, screenState: state, actionView: actionView(binding), context: context, completion: completion)
294 |             .onDisappear { [weak state] in
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:57:24: warning: sending 'router' risks causing data races; this is an error in the Swift 6 language mode
 55 |
 56 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
 57 |             let tabs = TabsView(router: router, content: root.makeContent(context, router: router), selectedIndex: 0)
    |                        |- warning: sending 'router' risks causing data races; this is an error in the Swift 6 language mode
    |                        `- note: sending task-isolated 'router' to main actor-isolated initializer 'init(router:content:selectedIndex:)' risks causing data races between main actor-isolated and task-isolated uses
 58 |             return (tabs, tabs)
 59 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:57:24: warning: sending value of non-Sendable type 'Root.Content' risks causing data races; this is an error in the Swift 6 language mode
 55 |
 56 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
 57 |             let tabs = TabsView(router: router, content: root.makeContent(context, router: router), selectedIndex: 0)
    |                        |- warning: sending value of non-Sendable type 'Root.Content' risks causing data races; this is an error in the Swift 6 language mode
    |                        `- note: sending task-isolated value of non-Sendable type 'Root.Content' to main actor-isolated initializer 'init(router:content:selectedIndex:)' risks causing races in between task-isolated and main actor-isolated uses
 58 |             return (tabs, tabs)
 59 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending value of non-Sendable type 'T' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending value of non-Sendable type 'T' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated value of non-Sendable type 'T' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing races in between task-isolated and main actor-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending 'self.state' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'self.state' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'self.state' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing races in between task-isolated and main actor-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'context' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'view' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
223 |         nextState.previous = state
224 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
225 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'completion' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
226 |             from[next: path], prevState: state, nextState: nextState,
227 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending 'transition' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'transition' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'transition' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending 'self.state' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'self.state' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'self.state' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated value of non-Sendable type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing races in between task-isolated and main actor-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'context' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'view' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'view' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:240:44: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
238 |         nextState.previous = state
239 |         state[child: path, T.To.NestedScreen.self] = nextState // replaced previous line
240 |         return TransitionView<T, ActionView>(
    |                                            |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                                            `- note: sending task-isolated 'completion' to main actor-isolated initializer 'init(_:prevState:nextState:context:actionView:completion:)' risks causing data races between main actor-isolated and task-isolated uses
241 |             transition, prevState: state, nextState: nextState,
242 |             context: context, actionView: view, completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:337:17: warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
335 |         return Future { promise in
336 |             DispatchQueue.main.async {
337 |                 promise(.success(_state))
    |                 |- warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'promise' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
338 |             }
339 |         }.eraseToAnyPublisher()
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:337:34: warning: sending '_state' risks causing data races; this is an error in the Swift 6 language mode
335 |         return Future { promise in
336 |             DispatchQueue.main.async {
337 |                 promise(.success(_state))
    |                                  |- warning: sending '_state' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated '_state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
338 |             }
339 |         }.eraseToAnyPublisher()
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:388:21: warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
386 |             return Future { promise in
387 |                 DispatchQueue.main.async {
388 |                     promise(.success(_state))
    |                     |- warning: sending 'promise' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'promise' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
389 |                 }
390 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:388:38: warning: sending '_state' risks causing data races; this is an error in the Swift 6 language mode
386 |             return Future { promise in
387 |                 DispatchQueue.main.async {
388 |                     promise(.success(_state))
    |                                      |- warning: sending '_state' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated '_state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
389 |                 }
390 |             }
[6/14] Compiling ScreenUI ScreenState.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenState.swift:127:51: warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
125 |             isActive_SwiftUI!.wrappedValue = false
126 |             if let compl = completion {
127 |                 DispatchQueue.main.async(execute: compl)
    |                                                   `- warning: converting non-sendable function value to '@MainActor @Sendable @convention(block) () -> Void' may introduce data races
128 |             }
129 |             return
[7/14] Compiling ScreenUI Screen.swift
[8/14] Compiling ScreenUI ScreenBuilder.swift
[9/14] Compiling ScreenUI Crossplatform.swift
[10/14] Emitting module ScreenUI
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenPath.swift:60:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 43 |
 44 | public typealias ScreenPathResult<To> = (state: AnyScreenState, screenContent: To.NestedScreen.Content) where To: Screen
 45 | public struct StartPath<T>: ScreenPath, ScreenPathPrivate, ScreenPathPrivate2 where T: Transition {
    |                         `- note: 'T' previously declared here
 46 |     public typealias From = T.From
 47 |     public typealias To = T.To
    :
 58 |     }
 59 |
 60 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 61 |
 62 |     public func __move(from surface: T.From.Content, completion: (() -> Void)?) -> ScreenPathResult<T.To> {
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenPath.swift:128:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
107 |     }
108 | }
109 | public struct NextPath<Prev, T>: ScreenPath, ScreenPathPrivate, ScreenPathPrivate2
    |                              `- note: 'T' previously declared here
110 | where Prev: ScreenPath & ScreenPathPrivate2, T: Transition, T.From == Prev.To.NestedScreen,
111 |       Prev.Result == ScreenPathResult<Prev.To>
    :
126 |     }
127 |
128 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
129 |
130 |     public func __move(from surface: Prev.From.Content, completion: (() -> Void)?) -> ScreenPathResult<T.To> {
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:321:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
304 | }
305 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
306 | public struct StartPath_SwiftUI<T>: ScreenPath, ScreenPathPrivate, ScreenPath_SwiftUI where T: SwiftUICompatibleTransition {
    |                                 `- note: 'T' previously declared here
307 |     public typealias From = UnavailableContentScreen<Void>
308 |     public typealias To = T.To
    :
319 |     }
320 |
321 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
322 |     public func index(of keyPath: PartialKeyPath<To.PathFrom>) -> Int { transition.index(of: keyPath) }
323 |     public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { transition.keyPath(at: index) }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:370:22: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
350 | }
351 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
352 | public struct NextPath_SwiftUI<Prev, T>: ScreenPath, ScreenPathPrivate, ScreenPath_SwiftUI
    |                                      `- note: 'T' previously declared here
353 | where Prev: ScreenPath & ScreenPath_SwiftUI, T: SwiftUICompatibleTransition, Prev.To.NestedScreen == T.From
354 | {
    :
368 |     }
369 |
370 |     public subscript<T>(next path: KeyPath<To.PathFrom, T>) -> T { transition[next: path] }
    |                      `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 |     public func index(of keyPath: PartialKeyPath<To.PathFrom>) -> Int { transition.index(of: keyPath) }
372 |     public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { transition.keyPath(at: index) }
[11/14] Compiling ScreenUI PathProvider.swift
[12/14] Compiling ScreenUI AppKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:43:26: warning: call to main actor-isolated initializer 'init(contentRect:styleMask:backing:defer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 40 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 41 |
 42 |         public func makeContent(_ context: Root.Context, router: Router<Root.NestedScreen>) -> ContentResult<Win.AppKit<Root>> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 43 |             let window = NSWindow(contentRect: rect, styleMask: styleMask, backing: backingStoreType, defer: isDefer)
    |                          `- warning: call to main actor-isolated initializer 'init(contentRect:styleMask:backing:defer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 44 |             let (content1, content0) = root.makeContent(context, router: router)
 45 |             window.contentViewController = content1
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:293:1: note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
 291 | - (NSRect)contentRectForFrameRect:(NSRect)frameRect;
 292 |
 293 | - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSWindowStyleMask)style backing:(NSBackingStoreType)backingStoreType defer:(BOOL)flag NS_DESIGNATED_INITIALIZER;
     | |- note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
     | `- note: main actor isolation inferred from inheritance from class 'NSResponder'
 294 | - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSWindowStyleMask)style backing:(NSBackingStoreType)backingStoreType defer:(BOOL)flag screen:(nullable NSScreen *)screen;
 295 | - (instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE; // Use initWithContentRect:. This method will throw an exception for coders that support allowsKeyedCoding, and is only available for compatibility with non keyed coding.
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:45:20: warning: main actor-isolated property 'contentViewController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 40 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 41 |
 42 |         public func makeContent(_ context: Root.Context, router: Router<Root.NestedScreen>) -> ContentResult<Win.AppKit<Root>> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 43 |             let window = NSWindow(contentRect: rect, styleMask: styleMask, backing: backingStoreType, defer: isDefer)
 44 |             let (content1, content0) = root.makeContent(context, router: router)
 45 |             window.contentViewController = content1
    |                    `- warning: main actor-isolated property 'contentViewController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 46 |             return (window, content0)
 47 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:651:48: note: mutation of this property is only permitted within the actor
 649 | /*! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController.
 650 |  */
 651 | @property (nullable, strong) NSViewController *contentViewController API_AVAILABLE(macos(10.10));
     |                                                `- note: mutation of this property is only permitted within the actor
 652 |
 653 | /*! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES].
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:49:40: warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 46 |             return (window, content0)
 47 |         }
 48 |         public func updateContent(_ content: Content, with context: Context) {
    |                     `- note: add '@MainActor' to make instance method 'updateContent(_:with:)' part of global actor 'MainActor'
 49 |             root.updateContent(content.contentViewController as! Root.Content, with: context)
    |                                        `- warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 50 |         }
 51 |         public func updateNestedContent(_ content: Root.NestedScreen.Content, with context: Root.Context) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:651:48: note: property declared here
 649 | /*! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController.
 650 |  */
 651 | @property (nullable, strong) NSViewController *contentViewController API_AVAILABLE(macos(10.10));
     |                                                `- note: property declared here
 652 |
 653 | /*! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES].
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:69:36: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 67 |
 68 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 69 |             let tabBarController = NSTabViewController()
    |                                    `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
 21 | @interface NSResponder : NSObject <NSCoding>
 22 |
 23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
    | |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
    | `- note: main actor isolation inferred from inheritance from class 'NSViewController'
 24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:71:30: warning: main actor-isolated property 'tabViewItems' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 66 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 67 |
 68 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 69 |             let tabBarController = NSTabViewController()
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
    |                              `- warning: main actor-isolated property 'tabViewItems' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: mutation of this property is only permitted within the actor
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: mutation of this property is only permitted within the actor
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:72:58: warning: cannot form key path to main actor-isolated property 'selectedTabViewItemIndex'; this is an error in the Swift 6 language mode
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
    |                                                          `- warning: cannot form key path to main actor-isolated property 'selectedTabViewItemIndex'; this is an error in the Swift 6 language mode
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
 74 |                 router.state.next = state
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:73:35: warning: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a '@Sendable' closure
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
    |                                   `- warning: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a '@Sendable' closure
 74 |                 router.state.next = state
 75 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/Screen.swift:6:15: note: consider making generic struct 'Router' conform to the 'Sendable' protocol
  4 | #endif
  5 |
  6 | public struct Router<From>: PathProvider where From: ContentScreen {
    |               `- note: consider making generic struct 'Router' conform to the 'Sendable' protocol
  7 |     let from: _PathFrom<From.PathFrom>
  8 |     let state: ContentScreenState<From.NestedScreen>
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:73:83: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
    |                                                                                   `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
 74 |                 router.state.next = state
 75 |             })
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: property declared here
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:80:40: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 77 |             return (tabBarController, tabBarController)
 78 |         }
 79 |         public func updateContent(_ content: Content, with context: Context) {
    |                     `- note: add '@MainActor' to make instance method 'updateContent(_:with:)' part of global actor 'MainActor'
 80 |             root.updateContent(content.tabViewItems.compactMap(\.viewController), with: context)
    |                                        `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 81 |         }
 82 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:95:20: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 92 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
 93 |
 94 |         public func move(from screen: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Void, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
 95 |             screen.selectedTabViewItemIndex = index
    |                    `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 96 |             let c1 = screen.tabViewItems[index].viewController as! Too.Content
 97 |             let c0 = Too.nestedContent(from: c1)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: mutation of this property is only permitted within the actor
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: mutation of this property is only permitted within the actor
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:96:29: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 92 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
 93 |
 94 |         public func move(from screen: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Void, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
 95 |             screen.selectedTabViewItemIndex = index
 96 |             let c1 = screen.tabViewItems[index].viewController as! Too.Content
    |                             `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 97 |             let c0 = Too.nestedContent(from: c1)
 98 |             return (state[child: path, Too.self]!, (c1, c0))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:102:31: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
102 |             guard fromContent.selectedTabViewItemIndex == index else { return false }
    |                               `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
103 |             guard fromContent.tabViewItems[index].viewController is Too.Content else { return false }
104 |             return true
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: property declared here
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:103:31: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
102 |             guard fromContent.selectedTabViewItemIndex == index else { return false }
103 |             guard fromContent.tabViewItems[index].viewController is Too.Content else { return false }
    |                               `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
104 |             return true
105 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:151:34: warning: call to main actor-isolated instance method 'presentAsModalWindow' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
149 |             }
150 |             switch style {
151 |             case .modal: surface.presentAsModalWindow(content1)
    |                                  `- warning: call to main actor-isolated instance method 'presentAsModalWindow' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
152 |             case .sheet: surface.presentAsSheet(content1)
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
AppKit.NSViewController.presentAsModalWindow:3:24: note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func presentAsModalWindow(_ viewController: NSViewController)}
  |                        |- note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:152:34: warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
150 |             switch style {
151 |             case .modal: surface.presentAsModalWindow(content1)
152 |             case .sheet: surface.presentAsSheet(content1)
    |                                  `- warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
AppKit.NSViewController.presentAsSheet:3:24: note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func presentAsSheet(_ viewController: NSViewController)}
  |                        |- note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:154:25: warning: call to main actor-isolated instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
152 |             case .sheet: surface.presentAsSheet(content1)
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
    |                         `- warning: call to main actor-isolated instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 |             case .custom(let animator): surface.present(content1, animator: animator)
156 |             }
AppKit.NSViewController.present:3:24: note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func present(_ viewController: NSViewController, asPopoverRelativeTo positioningRect: NSRect, of positioningView: NSView, preferredEdge: NSRectEdge, behavior: NSPopover.Behavior)}
  |                        |- note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:155:49: warning: call to main actor-isolated instance method 'present(_:animator:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
155 |             case .custom(let animator): surface.present(content1, animator: animator)
    |                                                 `- warning: call to main actor-isolated instance method 'present(_:animator:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
156 |             }
157 |             CATransaction.commit()
AppKit.NSViewController.present:3:24: note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func present(_ viewController: NSViewController, animator: any NSViewControllerPresentationAnimator)}
  |                        |- note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:162:39: warning: main actor-isolated property 'presentingViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
159 |         }
160 |
161 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
162 |             fromContent === toContent.presentingViewController
    |                                       `- warning: main actor-isolated property 'presentingViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         }
164 |         public func updateContent(_ content: Too.NestedScreen.Content, context: Context) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewController.h:164:58: note: property declared here
162 | /* The view controller that presented this view controller (or its farthest ancestor). In other words, 'presentingViewController' is the one that displayed 'self' to screen.
163 | */
164 | @property (nullable, readonly, assign) NSViewController *presentingViewController API_AVAILABLE(macos(10.10));
    |                                                          `- note: property declared here
165 |
166 | @end
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:180:21: warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
172 |         let animated: Bool
173 |
174 |         public func move(from content: From.Content, completion: (() -> Void)?) {
    |                     `- note: add '@MainActor' to make instance method 'move(from:completion:)' part of global actor 'MainActor'
175 |             CATransaction.begin()
176 |             CATransaction.setCompletionBlock(completion)
    :
178 |                 CATransaction.setAnimationDuration(0)
179 |             }
180 |             content.dismiss(nil)
    |                     `- warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 |             CATransaction.commit()
182 |         }
AppKit.NSViewController.dismiss:3:34: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @IBAction @MainActor open func dismiss(_ sender: Any?)}
  |                                  |- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
  |                                  `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:155:49: warning: sending 'animator' risks causing data races; this is an error in the Swift 6 language mode
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
155 |             case .custom(let animator): surface.present(content1, animator: animator)
    |                                                 |- warning: sending 'animator' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'animator' to main actor-isolated instance method 'present(_:animator:)' risks causing data races between main actor-isolated and task-isolated uses
156 |             }
157 |             CATransaction.commit()
[13/14] Compiling ScreenUI ContentBuilders.swift
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:43:26: warning: call to main actor-isolated initializer 'init(contentRect:styleMask:backing:defer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 40 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 41 |
 42 |         public func makeContent(_ context: Root.Context, router: Router<Root.NestedScreen>) -> ContentResult<Win.AppKit<Root>> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 43 |             let window = NSWindow(contentRect: rect, styleMask: styleMask, backing: backingStoreType, defer: isDefer)
    |                          `- warning: call to main actor-isolated initializer 'init(contentRect:styleMask:backing:defer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 44 |             let (content1, content0) = root.makeContent(context, router: router)
 45 |             window.contentViewController = content1
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:293:1: note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
 291 | - (NSRect)contentRectForFrameRect:(NSRect)frameRect;
 292 |
 293 | - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSWindowStyleMask)style backing:(NSBackingStoreType)backingStoreType defer:(BOOL)flag NS_DESIGNATED_INITIALIZER;
     | |- note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
     | `- note: main actor isolation inferred from inheritance from class 'NSResponder'
 294 | - (instancetype)initWithContentRect:(NSRect)contentRect styleMask:(NSWindowStyleMask)style backing:(NSBackingStoreType)backingStoreType defer:(BOOL)flag screen:(nullable NSScreen *)screen;
 295 | - (instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE; // Use initWithContentRect:. This method will throw an exception for coders that support allowsKeyedCoding, and is only available for compatibility with non keyed coding.
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:45:20: warning: main actor-isolated property 'contentViewController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 40 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 41 |
 42 |         public func makeContent(_ context: Root.Context, router: Router<Root.NestedScreen>) -> ContentResult<Win.AppKit<Root>> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 43 |             let window = NSWindow(contentRect: rect, styleMask: styleMask, backing: backingStoreType, defer: isDefer)
 44 |             let (content1, content0) = root.makeContent(context, router: router)
 45 |             window.contentViewController = content1
    |                    `- warning: main actor-isolated property 'contentViewController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 46 |             return (window, content0)
 47 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:651:48: note: mutation of this property is only permitted within the actor
 649 | /*! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController.
 650 |  */
 651 | @property (nullable, strong) NSViewController *contentViewController API_AVAILABLE(macos(10.10));
     |                                                `- note: mutation of this property is only permitted within the actor
 652 |
 653 | /*! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES].
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:49:40: warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 46 |             return (window, content0)
 47 |         }
 48 |         public func updateContent(_ content: Content, with context: Context) {
    |                     `- note: add '@MainActor' to make instance method 'updateContent(_:with:)' part of global actor 'MainActor'
 49 |             root.updateContent(content.contentViewController as! Root.Content, with: context)
    |                                        `- warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 50 |         }
 51 |         public func updateNestedContent(_ content: Root.NestedScreen.Content, with context: Root.Context) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:651:48: note: property declared here
 649 | /*! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController.
 650 |  */
 651 | @property (nullable, strong) NSViewController *contentViewController API_AVAILABLE(macos(10.10));
     |                                                `- note: property declared here
 652 |
 653 | /*! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES].
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:69:36: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 67 |
 68 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 69 |             let tabBarController = NSTabViewController()
    |                                    `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:23:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
 21 | @interface NSResponder : NSObject <NSCoding>
 22 |
 23 | - (instancetype)init NS_DESIGNATED_INITIALIZER;
    | |- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
    | `- note: main actor isolation inferred from inheritance from class 'NSViewController'
 24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:71:30: warning: main actor-isolated property 'tabViewItems' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 66 |         public func keyPath(at index: Int) -> PartialKeyPath<Root.PathFrom> { root.keyPath(at: index) }
 67 |
 68 |         public func makeContent(_ context: Context, router: Router<NestedScreen>) -> ContentResult<Self> {
    |                     `- note: add '@MainActor' to make instance method 'makeContent(_:router:)' part of global actor 'MainActor'
 69 |             let tabBarController = NSTabViewController()
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
    |                              `- warning: main actor-isolated property 'tabViewItems' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: mutation of this property is only permitted within the actor
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: mutation of this property is only permitted within the actor
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:72:58: warning: cannot form key path to main actor-isolated property 'selectedTabViewItemIndex'; this is an error in the Swift 6 language mode
 70 |             let c1 = root.makeContent(context, router: router)
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
    |                                                          `- warning: cannot form key path to main actor-isolated property 'selectedTabViewItemIndex'; this is an error in the Swift 6 language mode
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
 74 |                 router.state.next = state
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:73:35: warning: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a '@Sendable' closure
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
    |                                   `- warning: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a '@Sendable' closure
 74 |                 router.state.next = state
 75 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/Screen.swift:6:15: note: consider making generic struct 'Router' conform to the 'Sendable' protocol
  4 | #endif
  5 |
  6 | public struct Router<From>: PathProvider where From: ContentScreen {
    |               `- note: consider making generic struct 'Router' conform to the 'Sendable' protocol
  7 |     let from: _PathFrom<From.PathFrom>
  8 |     let state: ContentScreenState<From.NestedScreen>
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:73:83: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
 71 |             tabBarController.tabViewItems = c1.map(NSTabViewItem.init)
 72 |             let observation = tabBarController.observe(\.selectedTabViewItemIndex, changeHandler: { (tbc, ch) in
 73 |                 guard let state = router.state.childStates[router.keyPath(at: tbc.selectedTabViewItemIndex)] else { return }
    |                                                                                   `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
 74 |                 router.state.next = state
 75 |             })
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: property declared here
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:80:40: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 77 |             return (tabBarController, tabBarController)
 78 |         }
 79 |         public func updateContent(_ content: Content, with context: Context) {
    |                     `- note: add '@MainActor' to make instance method 'updateContent(_:with:)' part of global actor 'MainActor'
 80 |             root.updateContent(content.tabViewItems.compactMap(\.viewController), with: context)
    |                                        `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 81 |         }
 82 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:95:20: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 92 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
 93 |
 94 |         public func move(from screen: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Void, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
 95 |             screen.selectedTabViewItemIndex = index
    |                    `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 96 |             let c1 = screen.tabViewItems[index].viewController as! Too.Content
 97 |             let c0 = Too.nestedContent(from: c1)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: mutation of this property is only permitted within the actor
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: mutation of this property is only permitted within the actor
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:96:29: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 92 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
 93 |
 94 |         public func move(from screen: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Void, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
 95 |             screen.selectedTabViewItemIndex = index
 96 |             let c1 = screen.tabViewItems[index].viewController as! Too.Content
    |                             `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 97 |             let c0 = Too.nestedContent(from: c1)
 98 |             return (state[child: path, Too.self]!, (c1, c0))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:102:31: warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
102 |             guard fromContent.selectedTabViewItemIndex == index else { return false }
    |                               `- warning: main actor-isolated property 'selectedTabViewItemIndex' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
103 |             guard fromContent.tabViewItems[index].viewController is Too.Content else { return false }
104 |             return true
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:57:21: note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
 57 | @property NSInteger selectedTabViewItemIndex;
    |                     `- note: property declared here
 58 |
 59 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:103:31: warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 99 |         }
100 |
101 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
102 |             guard fromContent.selectedTabViewItemIndex == index else { return false }
103 |             guard fromContent.tabViewItems[index].viewController is Too.Content else { return false }
    |                               `- warning: main actor-isolated property 'tabViewItems' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
104 |             return true
105 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTabViewController.h:54:53: note: property declared here
 52 |
 53 | /// The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.
 54 | @property (copy) NSArray<__kindof NSTabViewItem *> *tabViewItems;
    |                                                     `- note: property declared here
 55 |
 56 | /// Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl's selection can be bound to this value with: \code [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:151:34: warning: call to main actor-isolated instance method 'presentAsModalWindow' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
149 |             }
150 |             switch style {
151 |             case .modal: surface.presentAsModalWindow(content1)
    |                                  `- warning: call to main actor-isolated instance method 'presentAsModalWindow' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
152 |             case .sheet: surface.presentAsSheet(content1)
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
AppKit.NSViewController.presentAsModalWindow:3:24: note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func presentAsModalWindow(_ viewController: NSViewController)}
  |                        |- note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:152:34: warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
150 |             switch style {
151 |             case .modal: surface.presentAsModalWindow(content1)
152 |             case .sheet: surface.presentAsSheet(content1)
    |                                  `- warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
AppKit.NSViewController.presentAsSheet:3:24: note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func presentAsSheet(_ viewController: NSViewController)}
  |                        |- note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:154:25: warning: call to main actor-isolated instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
152 |             case .sheet: surface.presentAsSheet(content1)
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
    |                         `- warning: call to main actor-isolated instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
155 |             case .custom(let animator): surface.present(content1, animator: animator)
156 |             }
AppKit.NSViewController.present:3:24: note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func present(_ viewController: NSViewController, asPopoverRelativeTo positioningRect: NSRect, of positioningView: NSView, preferredEdge: NSRectEdge, behavior: NSPopover.Behavior)}
  |                        |- note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:155:49: warning: call to main actor-isolated instance method 'present(_:animator:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
139 |         public func keyPath(at index: Int) -> PartialKeyPath<To.PathFrom> { to.keyPath(at: index) }
140 |
141 |         public func move(from surface: From.Content, state: ContentScreenState<From.NestedScreen>, with context: Too.Context, completion: (() -> Void)?) -> TransitionResult<From, To> {
    |                     `- note: add '@MainActor' to make instance method 'move(from:state:with:completion:)' part of global actor 'MainActor'
142 |             let nextState = TransitionState<From, To>()
143 |             nextState.back = .some(Presentation.Dismiss.AppKit(animated: animated))
    :
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
155 |             case .custom(let animator): surface.present(content1, animator: animator)
    |                                                 `- warning: call to main actor-isolated instance method 'present(_:animator:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
156 |             }
157 |             CATransaction.commit()
AppKit.NSViewController.present:3:24: note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @MainActor open func present(_ viewController: NSViewController, animator: any NSViewControllerPresentationAnimator)}
  |                        |- note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:162:39: warning: main actor-isolated property 'presentingViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
159 |         }
160 |
161 |         public func hierarchyTest(from fromContent: From.Content, to toContent: Too.NestedScreen.Content) -> Bool {
    |                     `- note: add '@MainActor' to make instance method 'hierarchyTest(from:to:)' part of global actor 'MainActor'
162 |             fromContent === toContent.presentingViewController
    |                                       `- warning: main actor-isolated property 'presentingViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
163 |         }
164 |         public func updateContent(_ content: Too.NestedScreen.Content, context: Context) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSViewController.h:164:58: note: property declared here
162 | /* The view controller that presented this view controller (or its farthest ancestor). In other words, 'presentingViewController' is the one that displayed 'self' to screen.
163 | */
164 | @property (nullable, readonly, assign) NSViewController *presentingViewController API_AVAILABLE(macos(10.10));
    |                                                          `- note: property declared here
165 |
166 | @end
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:180:21: warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
172 |         let animated: Bool
173 |
174 |         public func move(from content: From.Content, completion: (() -> Void)?) {
    |                     `- note: add '@MainActor' to make instance method 'move(from:completion:)' part of global actor 'MainActor'
175 |             CATransaction.begin()
176 |             CATransaction.setCompletionBlock(completion)
    :
178 |                 CATransaction.setAnimationDuration(0)
179 |             }
180 |             content.dismiss(nil)
    |                     `- warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
181 |             CATransaction.commit()
182 |         }
AppKit.NSViewController.dismiss:3:34: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 |   @IBAction @MainActor open func dismiss(_ sender: Any?)}
  |                                  |- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
  |                                  `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/AppKit.swift:155:49: warning: sending 'animator' risks causing data races; this is an error in the Swift 6 language mode
153 |             case .popover(let rect, let viewPath, let edge, let behavior):
154 |                 surface.present(content1, asPopoverRelativeTo: rect, of: surface[keyPath: viewPath] as! NSView, preferredEdge: edge, behavior: behavior)
155 |             case .custom(let animator): surface.present(content1, animator: animator)
    |                                                 |- warning: sending 'animator' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'animator' to main actor-isolated instance method 'present(_:animator:)' risks causing data races between main actor-isolated and task-isolated uses
156 |             }
157 |             CATransaction.commit()
[14/14] Compiling ScreenUI UIKit.swift
Build complete! (8.77s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ScreenUI",
  "name" : "ScreenUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ScreenUI",
      "targets" : [
        "ScreenUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ScreenUITests",
      "module_type" : "SwiftTarget",
      "name" : "ScreenUITests",
      "path" : "Tests/ScreenUITests",
      "sources" : [
        "ScreenUITests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ScreenUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ScreenUI",
      "module_type" : "SwiftTarget",
      "name" : "ScreenUI",
      "path" : "Sources/ScreenUI",
      "product_memberships" : [
        "ScreenUI"
      ],
      "sources" : [
        "AppKit.swift",
        "ContentBuilders.swift",
        "Crossplatform.swift",
        "PathProvider.swift",
        "Screen.swift",
        "ScreenBuilder.swift",
        "ScreenPath.swift",
        "ScreenState.swift",
        "SwiftUI.swift",
        "Transition.swift",
        "UIKit.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.