Build Information
Successful build of ScreenUI, reference main (99429b
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 17:39:08 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/k-o-d-e-n/ScreenUI.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/k-o-d-e-n/ScreenUI
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
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 main
========================================
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
[4/193] Fetching screenui
Fetched https://github.com/k-o-d-e-n/ScreenUI.git from cache (0.81s)
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 main (99429b4)
warning: '.resolve-product-dependencies': dependency 'screenui' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/k-o-d-e-n/ScreenUI.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/13] Compiling ScreenUI Transition.swift
[4/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
[5/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> {
[6/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
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
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
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:337:17: warning: capture of 'promise' with non-sendable type '(Result<ContentScreenState<T.To.NestedScreen>?, Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
335 | return Future { promise in
336 | DispatchQueue.main.async {
337 | promise(.success(_state))
| |- warning: capture of 'promise' with non-sendable type '(Result<ContentScreenState<T.To.NestedScreen>?, Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
338 | }
339 | }.eraseToAnyPublisher()
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:337:34: warning: capture of '_state' with non-sendable type 'TransitionState<T.From.NestedScreen, T.To>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
335 | return Future { promise in
336 | DispatchQueue.main.async {
337 | promise(.success(_state))
| `- warning: capture of '_state' with non-sendable type 'TransitionState<T.From.NestedScreen, T.To>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
338 | }
339 | }.eraseToAnyPublisher()
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenState.swift:40:14: note: generic class 'TransitionState' does not conform to the 'Sendable' protocol
38 | }
39 |
40 | public class TransitionState<From, To>: ScreenState<To> where From: Screen, To: Screen {
| `- note: generic class 'TransitionState' does not conform to the 'Sendable' protocol
41 | override var content: Any? {
42 | guard let surface = surface, let wrapper = surfaceWrapper else { return nil }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:388:21: warning: capture of 'promise' with non-sendable type '(Result<ContentScreenState<T.To.NestedScreen>?, Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 | return Future { promise in
387 | DispatchQueue.main.async {
388 | promise(.success(_state))
| |- warning: capture of 'promise' with non-sendable type '(Result<ContentScreenState<T.To.NestedScreen>?, Never>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
389 | }
390 | }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:388:38: warning: capture of '_state' with non-sendable type 'TransitionState<Prev.T.To.NestedScreen, T.To>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 | return Future { promise in
387 | DispatchQueue.main.async {
388 | promise(.success(_state))
| `- warning: capture of '_state' with non-sendable type 'TransitionState<Prev.T.To.NestedScreen, T.To>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
389 | }
390 | }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/ScreenState.swift:40:14: note: generic class 'TransitionState' does not conform to the 'Sendable' protocol
38 | }
39 |
40 | public class TransitionState<From, To>: ScreenState<To> where From: Screen, To: Screen {
| `- note: generic class 'TransitionState' does not conform to the 'Sendable' protocol
41 | override var content: Any? {
42 | guard let surface = surface, let wrapper = surfaceWrapper else { return nil }
/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 task-isolated value of type 'Root.Content' with later accesses to main actor-isolated context 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 task-isolated value of type 'Root.Content' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
58 | return (tabs, tabs)
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/ScreenUI/SwiftUI.swift:225:44: warning: sending task-isolated value of type 'T' with later accesses to main actor-isolated 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 task-isolated value of type 'T' with later accesses to main actor-isolated context risks causing data races; 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
/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 task-isolated value of type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' with later accesses to main actor-isolated 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 task-isolated value of type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' with later accesses to main actor-isolated context risks causing data races; 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
/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 task-isolated value of type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' with later accesses to main actor-isolated 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 task-isolated value of type 'TransitionState<From.NestedScreen, T.To.NestedScreen>' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
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 | }
[7/14] Compiling ScreenUI ScreenBuilder.swift
[8/14] Compiling ScreenUI Screen.swift
[9/14] Compiling ScreenUI UIKit.swift
[10/14] Compiling ScreenUI PathProvider.swift
[11/14] Compiling ScreenUI Crossplatform.swift
[12/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) }
[13/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
AppKit.NSWindow:18:23: note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
16 | @available(swift, obsoleted: 3, renamed: "contentRect(forFrameRect:)")
17 | open func contentRectForFrameRect(_ frameRect: NSRect) -> NSRect
18 | @MainActor public init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool)
| `- note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
19 | public convenience init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool, screen: NSScreen?)
20 | @available(*, unavailable)
/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 | }
AppKit.NSWindow:360:14: note: mutation of this property is only permitted within the actor
358 | open var titlebarSeparatorStyle: NSTitlebarSeparatorStyle { get set }
359 | @available(macOS 10.10, *)
360 | open var contentViewController: NSViewController? { get set }
| `- note: mutation of this property is only permitted within the actor
361 | @available(macOS 10.10, *)
362 | public convenience init(contentViewController: NSViewController)
/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) {
AppKit.NSWindow:360:14: note: property declared here
358 | open var titlebarSeparatorStyle: NSTitlebarSeparatorStyle { get set }
359 | @available(macOS 10.10, *)
360 | open var contentViewController: NSViewController? { get set }
| `- note: property declared here
361 | @available(macOS 10.10, *)
362 | public convenience init(contentViewController: NSViewController)
/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)
AppKit.NSTabViewController:33:35: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
31 | public init(nibName nibNameOrNil: NSNib.Name?, bundle nibBundleOrNil: Bundle?)
32 | public init?(coder: NSCoder)
33 | @MainActor public convenience init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
34 | @available(macOS 10.10, *)
35 | @MainActor open func tabViewDidChangeNumberOfTabViewItems(_ tabView: NSTabView)
/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 }
AppKit.NSTabViewController:7:14: note: mutation of this property is only permitted within the actor
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: mutation of this property is only permitted within the actor
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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; 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: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
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 | })
AppKit.NSTabViewController:8:25: note: property declared here
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: property declared here
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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 | }
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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)
AppKit.NSTabViewController:8:25: note: mutation of this property is only permitted within the actor
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: mutation of this property is only permitted within the actor
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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))
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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
AppKit.NSTabViewController:8:25: note: property declared here
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: property declared here
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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 | }
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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:8:26: note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
6 | open func presentViewControllerAsSheet(_ viewController: NSViewController)
7 | @available(macOS 10.10, *)
8 | @MainActor open func presentAsModalWindow(_ viewController: NSViewController)
| `- note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
9 | @available(macOS 10.10, *)
10 | @available(swift, obsoleted: 4.2, renamed: "presentAsModalWindow(_:)")
/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:3:26: note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
1 | extension 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
4 | @available(macOS 10.10, *)
5 | @available(swift, obsoleted: 4.2, renamed: "presentAsSheet(_:)")
/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:13:26: note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
11 | open func presentViewControllerAsModalWindow(_ viewController: NSViewController)
12 | @available(macOS 10.10, *)
13 | @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
14 | @available(macOS 10.10, *)
15 | @available(swift, obsoleted: 4.2, renamed: "present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)")
/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:3:26: note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
1 | extension 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
4 | @available(macOS 10.10, *)
5 | @available(swift, obsoleted: 4.2, renamed: "present(_:animator:)")
/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) {
AppKit.NSViewController:20:30: note: property declared here
18 | open var presentedViewControllers: [NSViewController]? { get }
19 | @available(macOS 10.10, *)
20 | unowned(unsafe) open var presentingViewController: NSViewController? { get }
| `- note: property declared here
21 | @available(macOS 10.10, *)
22 | @available(swift, obsoleted: 4.2, renamed: "presentingViewController")
/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:13:25: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
11 | open func dismissViewController(_ viewController: NSViewController)
12 | @available(macOS 10.10, *)
13 | @IBAction open func dismiss(_ sender: Any?)
| `- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
14 | @available(macOS 10.10, *)
15 | @available(swift, obsoleted: 3, renamed: "dismiss(_:)")
/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 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
AppKit.NSWindow:18:23: note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
16 | @available(swift, obsoleted: 3, renamed: "contentRect(forFrameRect:)")
17 | open func contentRectForFrameRect(_ frameRect: NSRect) -> NSRect
18 | @MainActor public init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool)
| `- note: calls to initializer 'init(contentRect:styleMask:backing:defer:)' from outside of its actor context are implicitly asynchronous
19 | public convenience init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool, screen: NSScreen?)
20 | @available(*, unavailable)
/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 | }
AppKit.NSWindow:360:14: note: mutation of this property is only permitted within the actor
358 | open var titlebarSeparatorStyle: NSTitlebarSeparatorStyle { get set }
359 | @available(macOS 10.10, *)
360 | open var contentViewController: NSViewController? { get set }
| `- note: mutation of this property is only permitted within the actor
361 | @available(macOS 10.10, *)
362 | public convenience init(contentViewController: NSViewController)
/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) {
AppKit.NSWindow:360:14: note: property declared here
358 | open var titlebarSeparatorStyle: NSTitlebarSeparatorStyle { get set }
359 | @available(macOS 10.10, *)
360 | open var contentViewController: NSViewController? { get set }
| `- note: property declared here
361 | @available(macOS 10.10, *)
362 | public convenience init(contentViewController: NSViewController)
/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)
AppKit.NSTabViewController:33:35: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
31 | public init(nibName nibNameOrNil: NSNib.Name?, bundle nibBundleOrNil: Bundle?)
32 | public init?(coder: NSCoder)
33 | @MainActor public convenience init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
34 | @available(macOS 10.10, *)
35 | @MainActor open func tabViewDidChangeNumberOfTabViewItems(_ tabView: NSTabView)
/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 }
AppKit.NSTabViewController:7:14: note: mutation of this property is only permitted within the actor
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: mutation of this property is only permitted within the actor
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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; 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: capture of 'router' with non-sendable type 'Router<Tab.AppKit<Root>.NestedScreen>' (aka 'Router<Tab.AppKit<Root>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
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 | })
AppKit.NSTabViewController:8:25: note: property declared here
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: property declared here
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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 | }
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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)
AppKit.NSTabViewController:8:25: note: mutation of this property is only permitted within the actor
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: mutation of this property is only permitted within the actor
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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))
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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
AppKit.NSTabViewController:8:25: note: property declared here
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
| `- note: property declared here
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
10 | open func insertTabViewItem(_ tabViewItem: NSTabViewItem, at index: Int)
/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 | }
AppKit.NSTabViewController:7:14: note: property declared here
5 | open var transitionOptions: NSViewController.TransitionOptions { get set }
6 | open var canPropagateSelectedChildViewControllerTitle: Bool { get set }
7 | open var tabViewItems: [NSTabViewItem] { get set }
| `- note: property declared here
8 | @MainActor open var selectedTabViewItemIndex: Int { get set }
9 | open func addTabViewItem(_ tabViewItem: NSTabViewItem)
/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:8:26: note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
6 | open func presentViewControllerAsSheet(_ viewController: NSViewController)
7 | @available(macOS 10.10, *)
8 | @MainActor open func presentAsModalWindow(_ viewController: NSViewController)
| `- note: calls to instance method 'presentAsModalWindow' from outside of its actor context are implicitly asynchronous
9 | @available(macOS 10.10, *)
10 | @available(swift, obsoleted: 4.2, renamed: "presentAsModalWindow(_:)")
/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:3:26: note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
1 | extension 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
4 | @available(macOS 10.10, *)
5 | @available(swift, obsoleted: 4.2, renamed: "presentAsSheet(_:)")
/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:13:26: note: calls to instance method 'present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)' from outside of its actor context are implicitly asynchronous
11 | open func presentViewControllerAsModalWindow(_ viewController: NSViewController)
12 | @available(macOS 10.10, *)
13 | @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
14 | @available(macOS 10.10, *)
15 | @available(swift, obsoleted: 4.2, renamed: "present(_:asPopoverRelativeTo:of:preferredEdge:behavior:)")
/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:3:26: note: calls to instance method 'present(_:animator:)' from outside of its actor context are implicitly asynchronous
1 | extension 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
4 | @available(macOS 10.10, *)
5 | @available(swift, obsoleted: 4.2, renamed: "present(_:animator:)")
/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) {
AppKit.NSViewController:20:30: note: property declared here
18 | open var presentedViewControllers: [NSViewController]? { get }
19 | @available(macOS 10.10, *)
20 | unowned(unsafe) open var presentingViewController: NSViewController? { get }
| `- note: property declared here
21 | @available(macOS 10.10, *)
22 | @available(swift, obsoleted: 4.2, renamed: "presentingViewController")
/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:13:25: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
11 | open func dismissViewController(_ viewController: NSViewController)
12 | @available(macOS 10.10, *)
13 | @IBAction open func dismiss(_ sender: Any?)
| `- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
14 | @available(macOS 10.10, *)
15 | @available(swift, obsoleted: 3, renamed: "dismiss(_:)")
/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()
Build complete! (22.56s)
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.