The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of 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.