Build Information
Successful build of Wave, reference main (27b7e1
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 21:33:40 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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jtrivedi/Wave.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jtrivedi/Wave
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 27b7e1d Merge pull request #27 from jtrivedi/janum/immediate-model-updates
Cloned https://github.com/jtrivedi/Wave.git
Revision (git rev-parse @):
27b7e1d2d42b8a4f56d9e84213910b0441c8b810
SUCCESS checkout https://github.com/jtrivedi/Wave.git at main
========================================
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": "wave",
"name": "Wave",
"url": "https://github.com/jtrivedi/Wave.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Wave",
"dependencies": [
]
}
]
}
Fetching https://github.com/jtrivedi/Wave.git
[9/872] Fetching wave
Fetched https://github.com/jtrivedi/Wave.git from cache (1.16s)
Creating working copy for https://github.com/jtrivedi/Wave.git
Working copy of https://github.com/jtrivedi/Wave.git resolved at main (27b7e1d)
warning: '.resolve-product-dependencies': dependency 'wave' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/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:114: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
112 |
113 | /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
114 | 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
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:117: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
117 | 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
118 |
119 | /// 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:120: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
118 |
119 | /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
120 | 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
121 |
122 | // MARK: - Equatable
[4/24] Compiling Wave UIMathUtilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Wave.swift:61:31: warning: comparing non-optional value of type 'AnimationMode' to 'Optional.none' always returns false
59 | let settings = AnimationController.AnimationParameters(
60 | groupUUID: UUID(),
61 | spring: (mode == .none) ? .defaultNonAnimated : spring,
| `- warning: comparing non-optional value of type 'AnimationMode' to 'Optional.none' always returns false
62 | mode: (spring.response == 0) ? .nonAnimated : mode,
63 | delay: delay,
[5/24] Compiling Wave Wave.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Wave.swift:61:31: warning: comparing non-optional value of type 'AnimationMode' to 'Optional.none' always returns false
59 | let settings = AnimationController.AnimationParameters(
60 | groupUUID: UUID(),
61 | spring: (mode == .none) ? .defaultNonAnimated : spring,
| `- warning: comparing non-optional value of type 'AnimationMode' to 'Optional.none' always returns false
62 | mode: (spring.response == 0) ? .nonAnimated : mode,
63 | delay: delay,
[6/24] Compiling Wave AnimatableCALayerProperties.swift
[7/24] Compiling Wave AnimatableUIViewProperties.swift
[8/24] Compiling Wave AnimationMode.swift
[9/24] Compiling Wave LayerAnimator+Implementation.swift
[10/24] Compiling Wave SpringInterpolatable.swift
[11/24] Compiling Wave CGPoint+Extensions.swift
[12/24] Compiling Wave CGRect+Extensions.swift
[13/24] Compiling Wave AnimatorState.swift
[14/24] Compiling Wave CGFloat+Extensions.swift
[15/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:78:17: warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
61 | import CoreVideo
62 |
63 | class CVDisplayLinkProvider: DisplayLinkProviding {
| `- note: class 'CVDisplayLinkProvider' does not conform to the 'Sendable' protocol
64 |
65 | let frameCallback: DisplayLinkCallback
:
76 | CVDisplayLinkSetOutputHandler(displayLinkProvider, { [weak self] (_, inNow, inOutputTime, _, _) -> CVReturn in
77 | let dt = inOutputTime.pointee.timeInterval - inNow.pointee.timeInterval
78 | self?.frameCallback(dt)
| `- warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
79 | return kCVReturnSuccess
80 | })
[16/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:78:17: warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
61 | import CoreVideo
62 |
63 | class CVDisplayLinkProvider: DisplayLinkProviding {
| `- note: class 'CVDisplayLinkProvider' does not conform to the 'Sendable' protocol
64 |
65 | let frameCallback: DisplayLinkCallback
:
76 | CVDisplayLinkSetOutputHandler(displayLinkProvider, { [weak self] (_, inNow, inOutputTime, _, _) -> CVReturn in
77 | let dt = inOutputTime.pointee.timeInterval - inNow.pointee.timeInterval
78 | self?.frameCallback(dt)
| `- warning: capture of 'self' with non-sendable type 'CVDisplayLinkProvider?' in a '@Sendable' closure
79 | return kCVReturnSuccess
80 | })
[17/24] Compiling Wave CGSize+Extensions.swift
[18/24] Compiling Wave Color+Extensions.swift
[19/24] Compiling Wave Spring.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:114: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
112 |
113 | /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
114 | 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
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:117: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
117 | 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
118 |
119 | /// 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:120: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
118 |
119 | /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
120 | 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
121 |
122 | // MARK: - Equatable
/Users/admin/builder/spi-builder-workspace/Sources/Wave/SpringAnimator.swift:154:17: warning: sending 'start' risks causing data races; this is an error in the Swift 6 language mode
152 | } else {
153 | DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
154 | start()
| |- warning: sending 'start' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'start' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
155 | }
156 | }
[20/24] Compiling Wave SpringAnimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:114: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
112 |
113 | /// A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
114 | 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
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
/Users/admin/builder/spi-builder-workspace/Sources/Wave/Spring.swift:117: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
115 |
116 | /// A reasonable, critically damped spring to use for non-interactive animations.
117 | 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
118 |
119 | /// 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:120: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
14 | 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.
15 | */
16 | public class Spring: Equatable {
| `- note: class 'Spring' does not conform to the 'Sendable' protocol
17 |
18 | // MARK: - Spring Properties
:
118 |
119 | /// A placeholder spring to use when using the `nonAnimated` mode. See `AnimationMode` for more info.
120 | 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
121 |
122 | // MARK: - Equatable
/Users/admin/builder/spi-builder-workspace/Sources/Wave/SpringAnimator.swift:154:17: warning: sending 'start' risks causing data races; this is an error in the Swift 6 language mode
152 | } else {
153 | DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
154 | start()
| |- warning: sending 'start' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'start' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
155 | }
156 | }
[21/24] Compiling Wave UIView+ViewAnimator.swift
[22/24] Compiling Wave ViewAnimator+Implementation.swift
[23/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 = {
[24/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 = {
Build complete! (7.10s)
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.