The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Wave, reference 0.3.4 (72f468), with Swift 6.1 for macOS (SPM) on 25 Mar 2026 15:42:28 UTC.

Swift 6 data race errors: 6

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.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jtrivedi/Wave.git
Reference: 0.3.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jtrivedi/Wave
 * tag               0.3.4      -> FETCH_HEAD
HEAD is now at 72f4688 Update generate_docs.sh
Cloned https://github.com/jtrivedi/Wave.git
Revision (git rev-parse @):
72f4688be3cfd3b56fcc76f51bf2a59dfece017e
SUCCESS checkout https://github.com/jtrivedi/Wave.git at 0.3.4
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/jtrivedi/Wave.git
https://github.com/jtrivedi/Wave.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Wave",
  "name" : "Wave",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    }
  ],
  "products" : [
    {
      "name" : "Wave",
      "targets" : [
        "Wave"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WaveTests",
      "module_type" : "SwiftTarget",
      "name" : "WaveTests",
      "path" : "Tests/WaveTests",
      "sources" : [
        "AnimatableCALayerPropertyTests.swift",
        "AnimatableUIViewPropertyTests.swift",
        "SpringTests.swift",
        "TestUtilities.swift"
      ],
      "target_dependencies" : [
        "Wave"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Wave",
      "module_type" : "SwiftTarget",
      "name" : "Wave",
      "path" : "Sources/Wave",
      "product_memberships" : [
        "Wave"
      ],
      "sources" : [
        "AnimatableCALayerProperties.swift",
        "AnimatableUIViewProperties.swift",
        "AnimationMode.swift",
        "AnimatorState.swift",
        "Extensions/CGFloat+Extensions.swift",
        "Extensions/CGPoint+Extensions.swift",
        "Extensions/CGRect+Extensions.swift",
        "Extensions/CGSize+Extensions.swift",
        "Extensions/Color+Extensions.swift",
        "Internal/AnimationController.swift",
        "Internal/AnimatorProviding.swift",
        "Internal/CALayer+LayerAnimator.swift",
        "Internal/DisplayLinkProviding.swift",
        "Internal/LayerAnimator+Implementation.swift",
        "Internal/SpringInterpolatable.swift",
        "Internal/UIView+ViewAnimator.swift",
        "Internal/ViewAnimator+Implementation.swift",
        "Spring.swift",
        "SpringAnimator.swift",
        "UIMathUtilities.swift",
        "Wave.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
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/22] Emitting module Wave
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/AnimationController.swift:22:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
 18 | #endif
 19 |
 20 | internal class AnimationController {
    |                `- note: class 'AnimationController' does not conform to the 'Sendable' protocol
 21 |
 22 |     static let shared = AnimationController()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |
 24 |     private lazy var displayLinkProvider: DisplayLinkProvider = {
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:12:13: warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | import QuartzCore
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
   |             |- warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimatorAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimatorAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:13:13: warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
   |             |- warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimationsAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimationsAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | extension CALayer {
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:120:23: warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
118 |
119 |     /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
120 |     static public let defaultInteractive = Spring(dampingRatio: 0.8, response: 0.20)
    |                       |- warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultInteractive' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:123:23: warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
123 |     static public let defaultAnimated    = Spring(dampingRatio: 1.0, response: 0.82)
    |                       |- warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:126:23: warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
126 |     static public let defaultNonAnimated = Spring(dampingRatio: 1.0, response: 0.0)
    |                       |- warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultNonAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 |     // MARK: - Equatable
[4/24] Compiling Wave UIMathUtilities.swift
[5/24] Compiling Wave Wave.swift
[6/24] Compiling Wave UIView+ViewAnimator.swift
[7/24] Compiling Wave ViewAnimator+Implementation.swift
[8/24] Compiling Wave Spring.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:120:23: warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
118 |
119 |     /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
120 |     static public let defaultInteractive = Spring(dampingRatio: 0.8, response: 0.20)
    |                       |- warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultInteractive' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:123:23: warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
123 |     static public let defaultAnimated    = Spring(dampingRatio: 1.0, response: 0.82)
    |                       |- warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:126:23: warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
126 |     static public let defaultNonAnimated = Spring(dampingRatio: 1.0, response: 0.0)
    |                       |- warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultNonAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 |     // MARK: - Equatable
[9/24] Compiling Wave SpringAnimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:120:23: warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
118 |
119 |     /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
120 |     static public let defaultInteractive = Spring(dampingRatio: 0.8, response: 0.20)
    |                       |- warning: static property 'defaultInteractive' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultInteractive' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:123:23: warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
121 |
122 |     /// A reasonable, critically damped spring to use for non-interactive animations.
123 |     static public let defaultAnimated    = Spring(dampingRatio: 1.0, response: 0.82)
    |                       |- warning: static property 'defaultAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:126:23: warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |  Springs are created by providing a `dampingRatio` greater than zero, and _either_ a `response` or `stiffness` value. See the initializers ``init(dampingRatio:response:mass:)`` and ``init(dampingRatio:stiffness:mass:)`` for usage information.
 21 |  */
 22 | public class Spring: Equatable {
    |              `- note: class 'Spring' does not conform to the 'Sendable' protocol
 23 |
 24 |     // MARK: - Spring Properties
    :
124 |
125 |     /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
126 |     static public let defaultNonAnimated = Spring(dampingRatio: 1.0, response: 0.0)
    |                       |- warning: static property 'defaultNonAnimated' is not concurrency-safe because non-'Sendable' type 'Spring' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultNonAnimated' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 |     // MARK: - Equatable
[10/24] Compiling Wave LayerAnimator+Implementation.swift
[11/24] Compiling Wave SpringInterpolatable.swift
[12/24] Compiling Wave CGSize+Extensions.swift
[13/24] Compiling Wave Color+Extensions.swift
[14/24] Compiling Wave AnimationController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/AnimationController.swift:22:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
 18 | #endif
 19 |
 20 | internal class AnimationController {
    |                `- note: class 'AnimationController' does not conform to the 'Sendable' protocol
 21 |
 22 |     static let shared = AnimationController()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |
 24 |     private lazy var displayLinkProvider: DisplayLinkProvider = {
[15/24] Compiling Wave AnimatorProviding.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/AnimationController.swift:22:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
 18 | #endif
 19 |
 20 | internal class AnimationController {
    |                `- note: class 'AnimationController' does not conform to the 'Sendable' protocol
 21 |
 22 |     static let shared = AnimationController()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'AnimationController' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |
 24 |     private lazy var displayLinkProvider: DisplayLinkProvider = {
[16/24] Compiling Wave CALayer+LayerAnimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:12:13: warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | import QuartzCore
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
   |             |- warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimatorAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimatorAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:13:13: warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
   |             |- warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimationsAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimationsAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | extension CALayer {
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/DisplayLinkProviding.swift:100:17: warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
 75 | import CoreVideo
 76 |
 77 | class CVDisplayLinkProvider: DisplayLinkProviding {
    |       `- note: class 'CVDisplayLinkProvider' does not conform to the 'Sendable' protocol
 78 |
 79 |     let frameCallback: DisplayLinkCallback
    :
 98 |             CVDisplayLinkSetOutputHandler(displayLinkProvider, { [weak self] (_, inNow, inOutputTime, _, _) -> CVReturn in
 99 |                 let dt = inOutputTime.pointee.timeInterval - inNow.pointee.timeInterval
100 |                 self?.frameCallback(dt)
    |                 `- warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
101 |                 return kCVReturnSuccess
102 |             })
[17/24] Compiling Wave DisplayLinkProviding.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:12:13: warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 | import QuartzCore
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
   |             |- warning: var 'LayerAnimatorAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimatorAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimatorAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/CALayer+LayerAnimator.swift:13:13: warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | private var LayerAnimatorAssociatedObjectHandle: UInt8 = 1 << 4
13 | private var LayerAnimationsAssociatedObjectHandle: UInt8 = 1 << 5
   |             |- warning: var 'LayerAnimationsAssociatedObjectHandle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'LayerAnimationsAssociatedObjectHandle' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'LayerAnimationsAssociatedObjectHandle' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | extension CALayer {
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Internal/DisplayLinkProviding.swift:100:17: warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
 75 | import CoreVideo
 76 |
 77 | class CVDisplayLinkProvider: DisplayLinkProviding {
    |       `- note: class 'CVDisplayLinkProvider' does not conform to the 'Sendable' protocol
 78 |
 79 |     let frameCallback: DisplayLinkCallback
    :
 98 |             CVDisplayLinkSetOutputHandler(displayLinkProvider, { [weak self] (_, inNow, inOutputTime, _, _) -> CVReturn in
 99 |                 let dt = inOutputTime.pointee.timeInterval - inNow.pointee.timeInterval
100 |                 self?.frameCallback(dt)
    |                 `- warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
101 |                 return kCVReturnSuccess
102 |             })
[18/24] Compiling Wave CGPoint+Extensions.swift
[19/24] Compiling Wave CGRect+Extensions.swift
[20/24] Compiling Wave AnimatableCALayerProperties.swift
[21/24] Compiling Wave AnimatableUIViewProperties.swift
[22/24] Compiling Wave AnimationMode.swift
[23/24] Compiling Wave AnimatorState.swift
[24/24] Compiling Wave CGFloat+Extensions.swift
Build complete! (7.04s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Wave",
  "name" : "Wave",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    }
  ],
  "products" : [
    {
      "name" : "Wave",
      "targets" : [
        "Wave"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WaveTests",
      "module_type" : "SwiftTarget",
      "name" : "WaveTests",
      "path" : "Tests/WaveTests",
      "sources" : [
        "AnimatableCALayerPropertyTests.swift",
        "AnimatableUIViewPropertyTests.swift",
        "SpringTests.swift",
        "TestUtilities.swift"
      ],
      "target_dependencies" : [
        "Wave"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Wave",
      "module_type" : "SwiftTarget",
      "name" : "Wave",
      "path" : "Sources/Wave",
      "product_memberships" : [
        "Wave"
      ],
      "sources" : [
        "AnimatableCALayerProperties.swift",
        "AnimatableUIViewProperties.swift",
        "AnimationMode.swift",
        "AnimatorState.swift",
        "Extensions/CGFloat+Extensions.swift",
        "Extensions/CGPoint+Extensions.swift",
        "Extensions/CGRect+Extensions.swift",
        "Extensions/CGSize+Extensions.swift",
        "Extensions/Color+Extensions.swift",
        "Internal/AnimationController.swift",
        "Internal/AnimatorProviding.swift",
        "Internal/CALayer+LayerAnimator.swift",
        "Internal/DisplayLinkProviding.swift",
        "Internal/LayerAnimator+Implementation.swift",
        "Internal/SpringInterpolatable.swift",
        "Internal/UIView+ViewAnimator.swift",
        "Internal/ViewAnimator+Implementation.swift",
        "Spring.swift",
        "SpringAnimator.swift",
        "UIMathUtilities.swift",
        "Wave.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.