Build Information
Successful build of LoadableViews, reference 3.6.1 (ff30ea
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 11:25:54 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/MLSDev/LoadableViews.git
Reference: 3.6.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/MLSDev/LoadableViews
* tag 3.6.1 -> FETCH_HEAD
HEAD is now at ff30ea9 Releasing version 3.6.1.
Cloned https://github.com/MLSDev/LoadableViews.git
Revision (git rev-parse @):
ff30ea9900127c95557980b7026f51787aed4a17
SUCCESS checkout https://github.com/MLSDev/LoadableViews.git at 3.6.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": "loadableviews",
"name": "LoadableViews",
"url": "https://github.com/MLSDev/LoadableViews.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LoadableViews",
"dependencies": [
]
}
]
}
Fetching https://github.com/MLSDev/LoadableViews.git
[1/801] Fetching loadableviews
Fetched https://github.com/MLSDev/LoadableViews.git from cache (0.97s)
Creating working copy for https://github.com/MLSDev/LoadableViews.git
Working copy of https://github.com/MLSDev/LoadableViews.git resolved at 3.6.1 (ff30ea9)
warning: '.resolve-product-dependencies': dependency 'loadableviews' 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/MLSDev/LoadableViews.git
https://github.com/MLSDev/LoadableViews.git
{
"dependencies" : [
],
"manifest_display_name" : "LoadableViews",
"name" : "LoadableViews",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "LoadableViews",
"targets" : [
"LoadableViews"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"4.2",
"5"
],
"targets" : [
{
"c99name" : "LoadableViews",
"module_type" : "SwiftTarget",
"name" : "LoadableViews",
"path" : "Sources/LoadableViews",
"product_memberships" : [
"LoadableViews"
],
"sources" : [
"LoadableView+UIKit.swift",
"LoadableView+macOS.swift",
"LoadableView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
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/6] Compiling LoadableViews LoadableView+UIKit.swift
[4/6] Compiling LoadableViews LoadableView+macOS.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView+macOS.swift:26:19: warning: main actor-isolated property 'wantsLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
| `- warning: main actor-isolated property 'wantsLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
27 | container.layer?.backgroundColor = .clear
28 | container.addSubview(view)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:247:16: note: mutation of this property is only permitted within the actor
245 | /* Indicates if this view should be a "Layer Backed View". When layer backed, all subviews will subsequently also have a layer set on them (however, wantsLayer will only be YES on views that have had it explicitly set). Contents for a layer are specified in one of two ways: if -wantsUpdateLayer returns YES, then one can directly update the layer's contents (or other properties) in -updateLayer. If -wantsUpdateLayer returns NO, then the layer's contents is filled with whatever is drawn by -drawRect:
246 | */
247 | @property BOOL wantsLayer API_AVAILABLE(macos(10.5));
| `- note: mutation of this property is only permitted within the actor
248 |
249 | /* Get and set the CALayer for this view. The layer is not encoded by the view.
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView+macOS.swift:27:19: warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
27 | container.layer?.backgroundColor = .clear
| `- warning: main actor-isolated property 'layer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
28 | container.addSubview(view)
29 | view.translatesAutoresizingMaskIntoConstraints = false
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:251:39: note: property declared here
249 | /* Get and set the CALayer for this view. The layer is not encoded by the view.
250 | */
251 | @property (nullable, strong) CALayer *layer API_AVAILABLE(macos(10.5));
| `- note: property declared here
252 |
253 | /* Layer Backed Views: Return YES if this view supports directly setting the layer properties (such as the contents and backgroundColor) as opposed to filling in the contents with a drawRect: implementation. Most AppKit controls return YES if there is no subclassing involved that would alter the drawing appearance. It will return NO for views that do have subclassing that AppKit does not know about (such as, overriding drawRect:, or other drawing methods).
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView+macOS.swift:28:19: warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
27 | container.layer?.backgroundColor = .clear
28 | container.addSubview(view)
| `- warning: call to main actor-isolated instance method 'addSubview' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
29 | view.translatesAutoresizingMaskIntoConstraints = false
30 | let bindings = ["view": view]
AppKit.NSView.addSubview:2:22: note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func addSubview(_ view: NSView)}
| |- note: calls to instance method 'addSubview' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView+macOS.swift:29:14: warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
27 | container.layer?.backgroundColor = .clear
28 | container.addSubview(view)
29 | view.translatesAutoresizingMaskIntoConstraints = false
| `- warning: main actor-isolated property 'translatesAutoresizingMaskIntoConstraints' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
30 | let bindings = ["view": view]
31 | container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[view]|", options:[], metrics:nil, views: bindings))
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSLayoutConstraint.h:276:16: note: mutation of this property is only permitted within the actor
274 | /* by default, the autoresizing mask on a view gives rise to constraints that fully determine the view's position. To do anything interesting with constraints, you need to turn that off. IB will turn it off.
275 | */
276 | @property BOOL translatesAutoresizingMaskIntoConstraints API_AVAILABLE(macos(10.7));
| `- note: mutation of this property is only permitted within the actor
277 |
278 | /* constraint based layout engages lazily when someone tries to use it. If you do all of your constraint set up in -updateConstraints, you might never even receive updateConstraints if no one makes a constraint. To fix this chicken and egg problem, override this method to return YES if your view needs the window to use constraint based layout.
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView+macOS.swift:31:19: warning: call to main actor-isolated instance method 'addConstraints' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
27 | container.layer?.backgroundColor = .clear
:
29 | view.translatesAutoresizingMaskIntoConstraints = false
30 | let bindings = ["view": view]
31 | container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[view]|", options:[], metrics:nil, views: bindings))
| `- warning: call to main actor-isolated instance method 'addConstraints' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
32 | container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[view]|", options:[], metrics:nil, views: bindings))
33 | }
AppKit.NSView.addConstraints:3:24: note: calls to instance method 'addConstraints' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.7, *)
3 | @MainActor open func addConstraints(_ constraints: [NSLayoutConstraint])}
| |- note: calls to instance method 'addConstraints' 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/LoadableViews/LoadableView+macOS.swift:32:19: warning: call to main actor-isolated instance method 'addConstraints' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public func setupView(_ view: NSView, inContainer container: NSView) {
| `- note: add '@MainActor' to make instance method 'setupView(_:inContainer:)' part of global actor 'MainActor'
26 | container.wantsLayer = true
27 | container.layer?.backgroundColor = .clear
:
30 | let bindings = ["view": view]
31 | container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[view]|", options:[], metrics:nil, views: bindings))
32 | container.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[view]|", options:[], metrics:nil, views: bindings))
| `- warning: call to main actor-isolated instance method 'addConstraints' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 | }
AppKit.NSView.addConstraints:3:24: note: calls to instance method 'addConstraints' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.7, *)
3 | @MainActor open func addConstraints(_ constraints: [NSLayoutConstraint])}
| |- note: calls to instance method 'addConstraints' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
[5/6] Compiling LoadableViews LoadableView.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:59:28: warning: main actor-isolated property 'nibContainerView' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
38 |
39 | /// View that serves as a container for loadable view. Loadable views are added to container view in `setupNib(_:)` method.
40 | var nibContainerView: PlatformView { get }
| `- note: requirement 'nibContainerView' declared here
41 |
42 | /// Method that loads view from single view xib with `nibName`.
:
57 | extension PlatformView {
58 | /// View usually serves itself as a default container for loadable views
59 | @objc dynamic open var nibContainerView : PlatformView { return self }
| `- warning: main actor-isolated property 'nibContainerView' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
60 |
61 | /// Default nibName for all UIViews, equal to name of the class.
:
69 |
70 | /// UIView subclass, that can be loaded into different xib or storyboard by simply referencing it's class.
71 | open class LoadableView: PlatformView, NibLoadableProtocol {
| `- note: add '@preconcurrency' to the 'NibLoadableProtocol' conformance to defer isolation checking to run time
72 |
73 | public override init(frame: CGRect) {
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:83:15: warning: main actor-isolated instance method 'setupNib()' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
46 |
47 | /// Method that is used to load and configure loadableView. It is then added to `nibContainerView` as a subview. This view receives constraints of same width and height as container view.
48 | func setupNib()
| `- note: mark the protocol requirement 'setupNib()' 'async' to allow actor-isolated conformances
49 |
50 | /// Name of .xib file to load view from.
:
81 | }
82 |
83 | open func setupNib() {
| |- warning: main actor-isolated instance method 'setupNib()' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'setupNib()' to make this instance method not isolated to the actor
84 | setupView(loadNib(), inContainer: nibContainerView)
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:62:28: warning: main actor-isolated property 'nibName' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
49 |
50 | /// Name of .xib file to load view from.
51 | var nibName : String { get }
| `- note: requirement 'nibName' declared here
52 |
53 | /// Bundle to load nib from
:
60 |
61 | /// Default nibName for all UIViews, equal to name of the class.
62 | @objc dynamic open var nibName : String { return String(describing: type(of: self)) }
| `- warning: main actor-isolated property 'nibName' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
63 |
64 | /// Bundle to load nib from. Defaults to Bundle(for: type(of: self)).
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:65:28: warning: main actor-isolated property 'bundle' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
52 |
53 | /// Bundle to load nib from
54 | var bundle: Bundle { get }
| `- note: requirement 'bundle' declared here
55 | }
56 |
:
63 |
64 | /// Bundle to load nib from. Defaults to Bundle(for: type(of: self)).
65 | @objc dynamic open var bundle: Bundle {
| `- warning: main actor-isolated property 'bundle' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
66 | return Bundle(for: type(of: self))
67 | }
[6/6] Emitting module LoadableViews
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:59:28: warning: main actor-isolated property 'nibContainerView' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
38 |
39 | /// View that serves as a container for loadable view. Loadable views are added to container view in `setupNib(_:)` method.
40 | var nibContainerView: PlatformView { get }
| `- note: requirement 'nibContainerView' declared here
41 |
42 | /// Method that loads view from single view xib with `nibName`.
:
57 | extension PlatformView {
58 | /// View usually serves itself as a default container for loadable views
59 | @objc dynamic open var nibContainerView : PlatformView { return self }
| `- warning: main actor-isolated property 'nibContainerView' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
60 |
61 | /// Default nibName for all UIViews, equal to name of the class.
:
69 |
70 | /// UIView subclass, that can be loaded into different xib or storyboard by simply referencing it's class.
71 | open class LoadableView: PlatformView, NibLoadableProtocol {
| `- note: add '@preconcurrency' to the 'NibLoadableProtocol' conformance to defer isolation checking to run time
72 |
73 | public override init(frame: CGRect) {
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:83:15: warning: main actor-isolated instance method 'setupNib()' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
46 |
47 | /// Method that is used to load and configure loadableView. It is then added to `nibContainerView` as a subview. This view receives constraints of same width and height as container view.
48 | func setupNib()
| `- note: mark the protocol requirement 'setupNib()' 'async' to allow actor-isolated conformances
49 |
50 | /// Name of .xib file to load view from.
:
81 | }
82 |
83 | open func setupNib() {
| |- warning: main actor-isolated instance method 'setupNib()' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'setupNib()' to make this instance method not isolated to the actor
84 | setupView(loadNib(), inContainer: nibContainerView)
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:62:28: warning: main actor-isolated property 'nibName' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
49 |
50 | /// Name of .xib file to load view from.
51 | var nibName : String { get }
| `- note: requirement 'nibName' declared here
52 |
53 | /// Bundle to load nib from
:
60 |
61 | /// Default nibName for all UIViews, equal to name of the class.
62 | @objc dynamic open var nibName : String { return String(describing: type(of: self)) }
| `- warning: main actor-isolated property 'nibName' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
63 |
64 | /// Bundle to load nib from. Defaults to Bundle(for: type(of: self)).
/Users/admin/builder/spi-builder-workspace/Sources/LoadableViews/LoadableView.swift:65:28: warning: main actor-isolated property 'bundle' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
52 |
53 | /// Bundle to load nib from
54 | var bundle: Bundle { get }
| `- note: requirement 'bundle' declared here
55 | }
56 |
:
63 |
64 | /// Bundle to load nib from. Defaults to Bundle(for: type(of: self)).
65 | @objc dynamic open var bundle: Bundle {
| `- warning: main actor-isolated property 'bundle' cannot be used to satisfy nonisolated requirement from protocol 'NibLoadableProtocol'; this is an error in the Swift 6 language mode
66 | return Bundle(for: type(of: self))
67 | }
Build complete! (6.78s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "LoadableViews",
"name" : "LoadableViews",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "LoadableViews",
"targets" : [
"LoadableViews"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"4.2",
"5"
],
"targets" : [
{
"c99name" : "LoadableViews",
"module_type" : "SwiftTarget",
"name" : "LoadableViews",
"path" : "Sources/LoadableViews",
"product_memberships" : [
"LoadableViews"
],
"sources" : [
"LoadableView+UIKit.swift",
"LoadableView+macOS.swift",
"LoadableView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.