Build Information
Successful build of Forge, reference master (700e72
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 22:25:55 UTC.
Swift 6 data race errors: 3
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/Hi-Rez/Forge.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Hi-Rez/Forge
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 700e72f minor update to only update appearance when userInterfaceStyle changes
Cloned https://github.com/Hi-Rez/Forge.git
Revision (git rev-parse @):
700e72f59a807577582194c93e0dcb5aa7d53e5d
SUCCESS checkout https://github.com/Hi-Rez/Forge.git at master
========================================
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": "forge",
"name": "Forge",
"url": "https://github.com/Hi-Rez/Forge.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Forge",
"dependencies": [
]
}
]
}
Fetching https://github.com/Hi-Rez/Forge.git
[1/563] Fetching forge
Fetched https://github.com/Hi-Rez/Forge.git from cache (0.77s)
Creating working copy for https://github.com/Hi-Rez/Forge.git
Working copy of https://github.com/Hi-Rez/Forge.git resolved at master (700e72f)
warning: '.resolve-product-dependencies': dependency 'forge' 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/Hi-Rez/Forge.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/7] Compiling Forge ViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Forge/ViewController.swift:516:18: warning: main actor-isolated property 'delegate' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
514 |
515 | deinit {
516 | mtkView?.delegate = nil
| `- warning: main actor-isolated property 'delegate' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
517 | renderer = nil
518 | removeTracking()
MetalKit.MTKView:5:30: note: mutation of this property is only permitted within the actor
3 | public init(frame frameRect: CGRect, device: (any MTLDevice)?)
4 | public init(coder: NSCoder)
5 | @MainActor weak open var delegate: (any MTKViewDelegate)? { get set }
| `- note: mutation of this property is only permitted within the actor
6 | @MainActor open var device: (any MTLDevice)? { get set }
7 | open var currentDrawable: (any CAMetalDrawable)? { get }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/ViewController.swift:518:9: warning: call to main actor-isolated instance method 'removeTracking()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
253 | }
254 |
255 | open func removeTracking() {
| `- note: calls to instance method 'removeTracking()' from outside of its actor context are implicitly asynchronous
256 | if let trackingArea = trackingArea {
257 | self.view.removeTrackingArea(trackingArea)
:
516 | mtkView?.delegate = nil
517 | renderer = nil
518 | removeTracking()
| `- warning: call to main actor-isolated instance method 'removeTracking()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
519 | removeEvents()
520 | }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/ViewController.swift:519:9: warning: call to main actor-isolated instance method 'removeEvents()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
296 | }
297 |
298 | open func removeEvents() {
| `- note: calls to instance method 'removeEvents()' from outside of its actor context are implicitly asynchronous
299 | guard let keyDownHandler = self.keyDownHandler else { return }
300 | NSEvent.removeMonitor(keyDownHandler)
:
517 | renderer = nil
518 | removeTracking()
519 | removeEvents()
| `- warning: call to main actor-isolated instance method 'removeEvents()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
520 | }
521 | }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/ViewController.swift:517:18: warning: cannot access property 'renderer' with a non-sendable type 'Renderer?' from nonisolated deinit; this is an error in the Swift 6 language mode
515 | deinit {
516 | mtkView?.delegate = nil
517 | renderer = nil
| `- warning: cannot access property 'renderer' with a non-sendable type 'Renderer?' from nonisolated deinit; this is an error in the Swift 6 language mode
518 | removeTracking()
519 | removeEvents()
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:15:12: note: class 'Renderer' does not conform to the 'Sendable' protocol
13 | public let maxBuffersInFlight: Int = 3
14 |
15 | open class Renderer: NSObject, MTKViewDelegate {
| `- note: class 'Renderer' does not conform to the 'Sendable' protocol
16 | public enum Appearance {
17 | case unknown
[4/7] Compiling Forge Renderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:25:39: warning: main actor-isolated property 'device' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
23 | didSet {
24 | if let mtkView = mtkView {
25 | self.device = mtkView.device
| `- warning: main actor-isolated property 'device' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
26 |
27 | guard let queue = self.device.makeCommandQueue() else { return }
MetalKit.MTKView:6:25: note: property declared here
4 | public init(coder: NSCoder)
5 | weak open var delegate: (any MTKViewDelegate)? { get set }
6 | @MainActor open var device: (any MTLDevice)? { get set }
| `- note: property declared here
7 | open var currentDrawable: (any CAMetalDrawable)? { get }
8 | open var framebufferOnly: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:30:25: warning: main actor-isolated property 'depthStencilPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
28 | self.commandQueue = queue
29 |
30 | mtkView.depthStencilPixelFormat = .depth32Float_stencil8
| `- warning: main actor-isolated property 'depthStencilPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
31 | mtkView.colorPixelFormat = .bgra8Unorm
32 |
MetalKit.MTKView:15:14: note: mutation of this property is only permitted within the actor
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
| `- note: mutation of this property is only permitted within the actor
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:31:25: warning: main actor-isolated property 'colorPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
29 |
30 | mtkView.depthStencilPixelFormat = .depth32Float_stencil8
31 | mtkView.colorPixelFormat = .bgra8Unorm
| `- warning: main actor-isolated property 'colorPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
32 |
33 | self.setupMtkView(mtkView)
MetalKit.MTKView:14:14: note: mutation of this property is only permitted within the actor
12 | open var multisampleColorAttachmentTextureUsage: MTLTextureUsage { get set }
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
| `- note: mutation of this property is only permitted within the actor
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
16 | @available(macOS 13.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:54:29: warning: main actor-isolated property 'sampleCount' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
52 |
53 | public var sampleCount: Int {
54 | return self.mtkView.sampleCount
| `- warning: main actor-isolated property 'sampleCount' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
55 | }
56 |
MetalKit.MTKView:18:14: note: property declared here
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
18 | open var sampleCount: Int { get set }
| `- note: property declared here
19 | open var clearColor: MTLClearColor { get set }
20 | open var clearDepth: Double { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:58:29: warning: main actor-isolated property 'colorPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
56 |
57 | public var colorPixelFormat: MTLPixelFormat {
58 | return self.mtkView.colorPixelFormat
| `- warning: main actor-isolated property 'colorPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
59 | }
60 |
MetalKit.MTKView:14:14: note: property declared here
12 | open var multisampleColorAttachmentTextureUsage: MTLTextureUsage { get set }
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
| `- note: property declared here
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
16 | @available(macOS 13.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:62:29: warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
60 |
61 | public var depthStencilPixelFormat: MTLPixelFormat {
62 | return self.mtkView.depthStencilPixelFormat
| `- warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
63 | }
64 |
MetalKit.MTKView:15:14: note: property declared here
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
| `- note: property declared here
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:66:29: warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
64 |
65 | public var depthPixelFormat: MTLPixelFormat {
66 | return self.mtkView.depthStencilPixelFormat
| `- warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
67 | }
68 |
MetalKit.MTKView:15:14: note: property declared here
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
| `- note: property declared here
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:73:29: warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
71 | return .invalid
72 | }
73 | return self.mtkView.depthStencilPixelFormat
| `- warning: main actor-isolated property 'depthStencilPixelFormat' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
74 | }
75 |
MetalKit.MTKView:15:14: note: property declared here
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
| `- note: property declared here
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:111:35: warning: main actor-isolated property 'currentDrawable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 |
110 | open func postDraw(_ view: MTKView, _ commandBuffer: MTLCommandBuffer) {
| `- note: add '@MainActor' to make instance method 'postDraw' part of global actor 'MainActor'
111 | guard let drawable = view.currentDrawable else { return }
| `- warning: main actor-isolated property 'currentDrawable' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 | commandBuffer.present(drawable)
113 | let blockSemaphone = self.inFlightSemaphore
MetalKit.MTKView:7:14: note: property declared here
5 | weak open var delegate: (any MTKViewDelegate)? { get set }
6 | @MainActor open var device: (any MTLDevice)? { get set }
7 | open var currentDrawable: (any CAMetalDrawable)? { get }
| `- note: property declared here
8 | open var framebufferOnly: Bool { get set }
9 | @available(macOS 10.15, *)
[5/7] Emitting module Forge
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:25:39: warning: main actor-isolated property 'device' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
23 | didSet {
24 | if let mtkView = mtkView {
25 | self.device = mtkView.device
| `- warning: main actor-isolated property 'device' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
26 |
27 | guard let queue = self.device.makeCommandQueue() else { return }
MetalKit.MTKView:6:25: note: property declared here
4 | @MainActor public init(coder: NSCoder)
5 | weak open var delegate: (any MTKViewDelegate)? { get set }
6 | @MainActor open var device: (any MTLDevice)? { get set }
| `- note: property declared here
7 | open var currentDrawable: (any CAMetalDrawable)? { get }
8 | open var framebufferOnly: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:30:25: warning: main actor-isolated property 'depthStencilPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
28 | self.commandQueue = queue
29 |
30 | mtkView.depthStencilPixelFormat = .depth32Float_stencil8
| `- warning: main actor-isolated property 'depthStencilPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
31 | mtkView.colorPixelFormat = .bgra8Unorm
32 |
MetalKit.MTKView:15:14: note: mutation of this property is only permitted within the actor
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
| `- note: mutation of this property is only permitted within the actor
16 | @available(macOS 13.0, *)
17 | open var depthStencilStorageMode: MTLStorageMode { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Forge/Renderer.swift:31:25: warning: main actor-isolated property 'colorPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
29 |
30 | mtkView.depthStencilPixelFormat = .depth32Float_stencil8
31 | mtkView.colorPixelFormat = .bgra8Unorm
| `- warning: main actor-isolated property 'colorPixelFormat' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
32 |
33 | self.setupMtkView(mtkView)
MetalKit.MTKView:14:14: note: mutation of this property is only permitted within the actor
12 | open var multisampleColorAttachmentTextureUsage: MTLTextureUsage { get set }
13 | open var presentsWithTransaction: Bool { get set }
14 | open var colorPixelFormat: MTLPixelFormat { get set }
| `- note: mutation of this property is only permitted within the actor
15 | open var depthStencilPixelFormat: MTLPixelFormat { get set }
16 | @available(macOS 13.0, *)
[6/7] Compiling Forge MetalView.swift
[7/7] Compiling Forge ForgeView.swift
Build complete! (11.17s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Forge",
"name" : "Forge",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Forge",
"targets" : [
"Forge"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "Forge",
"module_type" : "SwiftTarget",
"name" : "Forge",
"path" : "Sources/Forge",
"product_memberships" : [
"Forge"
],
"sources" : [
"ForgeView.swift",
"MetalView.swift",
"Renderer.swift",
"ViewController.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.