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

Failed to build Ease, reference master (fb74df), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 01:23:42 UTC.

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/roberthein/Ease.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/roberthein/Ease
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at fb74dfd UPdate header.
Cloned https://github.com/roberthein/Ease.git
Revision (git rev-parse @):
fb74dfd07a19b5e59f8971961e7fd6d86f0d4045
SUCCESS checkout https://github.com/roberthein/Ease.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": "ease",
      "name": "Ease",
      "url": "https://github.com/roberthein/Ease.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Ease",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/roberthein/Ease.git
[1/468] Fetching ease
Fetched https://github.com/roberthein/Ease.git from cache (4.64s)
Creating working copy for https://github.com/roberthein/Ease.git
Working copy of https://github.com/roberthein/Ease.git resolved at master (fb74dfd)
warning: '.resolve-product-dependencies': dependency 'ease' 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/roberthein/Ease.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/12] Compiling Ease Projection.swift
[4/12] Compiling Ease Lock.swift
[5/12] Compiling Ease Foundation+Easeable.swift
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:8:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     public typealias F = Float
 7 |
 8 |     public static var zero: Int = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     public var values: [Float] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:28:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |     public typealias F = Float
27 |
28 |     public static var zero: Float = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     public var values: [Float] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:48:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |     public typealias F = Double
47 |
48 |     public static var zero: Double = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 |     public var values: [Double] {
[6/12] Compiling Ease SceneKit+Easeable.swift
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/SceneKit+Easeable.swift:8:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     public typealias F = Float
 7 |
 8 |     public static var zero: SCNVector3 = SCNVector3Zero
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     public var values: [Float] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/SceneKit+Easeable.swift:11:23: error: cannot convert value of type 'CGFloat' to expected element type 'Float'
 9 |
10 |     public var values: [Float] {
11 |         get { return [x, y, z] }
   |                       `- error: cannot convert value of type 'CGFloat' to expected element type 'Float'
12 |         set { self = SCNVector3(with: newValue) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/SceneKit+Easeable.swift:11:26: error: cannot convert value of type 'CGFloat' to expected element type 'Float'
 9 |
10 |     public var values: [Float] {
11 |         get { return [x, y, z] }
   |                          `- error: cannot convert value of type 'CGFloat' to expected element type 'Float'
12 |         set { self = SCNVector3(with: newValue) }
13 |     }
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/SceneKit+Easeable.swift:11:29: error: cannot convert value of type 'CGFloat' to expected element type 'Float'
 9 |
10 |     public var values: [Float] {
11 |         get { return [x, y, z] }
   |                             `- error: cannot convert value of type 'CGFloat' to expected element type 'Float'
12 |         set { self = SCNVector3(with: newValue) }
13 |     }
[7/12] Compiling Ease EaseDisposable.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/12] Compiling Ease Easeable.swift
[9/12] Compiling Ease EaseObserver.swift
[10/12] Compiling Ease CoreGraphics+Easeable.swift
[11/12] Emitting module Ease
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:65:25: warning: capture of 'observer' with non-sendable type 'EaseObserver<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                 if let dispatchQueue = dispatchQueue {
 64 |                     dispatchQueue.async {
 65 |                         observer.setInitialValue(newValue)
    |                         `- warning: capture of 'observer' with non-sendable type 'EaseObserver<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                     }
 67 |                 } else {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/EaseObserver.swift:3:22: note: generic class 'EaseObserver' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal final class EaseObserver<T: Easeable> {
   |                      `- note: generic class 'EaseObserver' does not conform to the 'Sendable' protocol
 4 |
 5 |     public typealias EaseClosure = (T, T?) -> Void
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:65:50: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                         `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
 63 |                 if let dispatchQueue = dispatchQueue {
 64 |                     dispatchQueue.async {
 65 |                         observer.setInitialValue(newValue)
    |                                                  `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                     }
 67 |                 } else {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:104:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
102 |     }
103 |
104 |     private lazy var displayLink: CADisplayLink = {
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
106 |         displayLink.add(to: .current, forMode: .common)
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:105:27: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
103 |
104 |     private lazy var displayLink: CADisplayLink = {
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
    |                           |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                           `- note: add 'if #available' version check
106 |         displayLink.add(to: .current, forMode: .common)
107 |         displayLink.isPaused = true
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:105:27: error: 'init(target:selector:)' is unavailable in macOS
103 |
104 |     private lazy var displayLink: CADisplayLink = {
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
    |                           `- error: 'init(target:selector:)' is unavailable in macOS
106 |         displayLink.add(to: .current, forMode: .common)
107 |         displayLink.isPaused = true
QuartzCore.CADisplayLink:4:30: note: 'init(target:selector:)' has been explicitly marked unavailable here
 2 | open class CADisplayLink : NSObject {
 3 |     @available(macOS, unavailable)
 4 |     public /*not inherited*/ init(target: Any, selector sel: Selector)
   |                              `- note: 'init(target:selector:)' has been explicitly marked unavailable here
 5 |     @available(*, unavailable, renamed: "init(target:selector:)", message: "Not available in Swift")
 6 |     @available(macOS, unavailable)
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:157:53: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
155 |     }
156 |
157 |     @objc func updateFromDisplayLink(_ displayLink: CADisplayLink) {
    |                |                                    `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                `- note: add @available attribute to enclosing instance method
158 |         update(for: T.float(from: displayLink.duration))
159 |     }
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:8:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     public typealias F = Float
 7 |
 8 |     public static var zero: Int = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     public var values: [Float] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:28:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |     public typealias F = Float
27 |
28 |     public static var zero: Float = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     public var values: [Float] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/Foundation+Easeable.swift:48:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |     public typealias F = Double
47 |
48 |     public static var zero: Double = 0
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 |     public var values: [Double] {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Easeable/Extensions/SceneKit+Easeable.swift:8:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     public typealias F = Float
 7 |
 8 |     public static var zero: SCNVector3 = SCNVector3Zero
   |                       |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |
10 |     public var values: [Float] {
[12/12] Compiling Ease Ease.swift
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:65:25: warning: capture of 'observer' with non-sendable type 'EaseObserver<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                 if let dispatchQueue = dispatchQueue {
 64 |                     dispatchQueue.async {
 65 |                         observer.setInitialValue(newValue)
    |                         `- warning: capture of 'observer' with non-sendable type 'EaseObserver<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                     }
 67 |                 } else {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/EaseObserver.swift:3:22: note: generic class 'EaseObserver' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal final class EaseObserver<T: Easeable> {
   |                      `- note: generic class 'EaseObserver' does not conform to the 'Sendable' protocol
 4 |
 5 |     public typealias EaseClosure = (T, T?) -> Void
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:65:50: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                         `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
 63 |                 if let dispatchQueue = dispatchQueue {
 64 |                     dispatchQueue.async {
 65 |                         observer.setInitialValue(newValue)
    |                                                  `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |                     }
 67 |                 } else {
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:104:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
102 |     }
103 |
104 |     private lazy var displayLink: CADisplayLink = {
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
106 |         displayLink.add(to: .current, forMode: .common)
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:105:27: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
103 |
104 |     private lazy var displayLink: CADisplayLink = {
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
    |                           |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                           `- note: add 'if #available' version check
106 |         displayLink.add(to: .current, forMode: .common)
107 |         displayLink.isPaused = true
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:105:27: error: 'init(target:selector:)' is unavailable in macOS
103 |
104 |     private lazy var displayLink: CADisplayLink = {
105 |         let displayLink = CADisplayLink(target: self, selector: #selector(updateFromDisplayLink(_:)))
    |                           `- error: 'init(target:selector:)' is unavailable in macOS
106 |         displayLink.add(to: .current, forMode: .common)
107 |         displayLink.isPaused = true
QuartzCore.CADisplayLink:4:30: note: 'init(target:selector:)' has been explicitly marked unavailable here
 2 | open class CADisplayLink : NSObject {
 3 |     @available(macOS, unavailable)
 4 |     public /*not inherited*/ init(target: Any, selector sel: Selector)
   |                              `- note: 'init(target:selector:)' has been explicitly marked unavailable here
 5 |     @available(*, unavailable, renamed: "init(target:selector:)", message: "Not available in Swift")
 6 |     @available(macOS, unavailable)
/Users/admin/builder/spi-builder-workspace/Ease/Classes/Ease.swift:157:53: error: 'CADisplayLink' is only available in macOS 14.0 or newer
  7 | }
  8 |
  9 | public final class Ease<T: Easeable> {
    |                    `- note: add @available attribute to enclosing generic class
 10 |
 11 |     public typealias EaseClosure = (T, T?) -> Void
    :
155 |     }
156 |
157 |     @objc func updateFromDisplayLink(_ displayLink: CADisplayLink) {
    |                |                                    `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                `- note: add @available attribute to enclosing instance method
158 |         update(for: T.float(from: displayLink.duration))
159 |     }
BUILD FAILURE 6.0 macosSpm