Build Information
Successful build of Motor, reference master (ec165d
), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 21:44:05 UTC.
Swift 6 data race errors: 4
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/flintprocessor/Motor.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/flintprocessor/Motor
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at ec165db Merge branch 'develop'
Cloned https://github.com/flintprocessor/Motor.git
Revision (git rev-parse @):
ec165db3be9046b956cc3a9b035d4134ab95998e
SUCCESS checkout https://github.com/flintprocessor/Motor.git at master
Fetching https://github.com/flintbox/ANSIEscapeCode
[1/49] Fetching ansiescapecode
Fetched https://github.com/flintbox/ANSIEscapeCode from cache (0.71s)
Computing version for https://github.com/flintbox/ANSIEscapeCode
Computed https://github.com/flintbox/ANSIEscapeCode at 0.1.1 (1.32s)
Creating working copy for https://github.com/flintbox/ANSIEscapeCode
Working copy of https://github.com/flintbox/ANSIEscapeCode resolved at 0.1.1
========================================
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": "motor",
"name": "Motor",
"url": "https://github.com/flintprocessor/Motor.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Motor",
"dependencies": [
{
"identity": "ansiescapecode",
"name": "ANSIEscapeCode",
"url": "https://github.com/flintbox/ANSIEscapeCode",
"version": "0.1.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ANSIEscapeCode",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/flintprocessor/Motor.git
[1/44] Fetching motor
Fetched https://github.com/flintprocessor/Motor.git from cache (0.64s)
Fetching https://github.com/flintbox/ANSIEscapeCode from cache
Fetched https://github.com/flintbox/ANSIEscapeCode from cache (0.39s)
Computing version for https://github.com/flintbox/ANSIEscapeCode
Computed https://github.com/flintbox/ANSIEscapeCode at 0.1.1 (0.45s)
Creating working copy for https://github.com/flintprocessor/Motor.git
Working copy of https://github.com/flintprocessor/Motor.git resolved at master (ec165db)
Creating working copy for https://github.com/flintbox/ANSIEscapeCode
Working copy of https://github.com/flintbox/ANSIEscapeCode resolved at 0.1.1
warning: '.resolve-product-dependencies': dependency 'motor' is not used by any target
Found 1 product dependencies
- ANSIEscapeCode
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/flintprocessor/Motor.git
https://github.com/flintprocessor/Motor.git
{
"dependencies" : [
{
"identity" : "ansiescapecode",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/flintbox/ANSIEscapeCode"
}
],
"manifest_display_name" : "Motor",
"name" : "Motor",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Motor",
"targets" : [
"Motor"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "motor-example",
"targets" : [
"motor-example"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "motor_example",
"module_type" : "SwiftTarget",
"name" : "motor-example",
"path" : "Sources/motor-example",
"product_memberships" : [
"motor-example"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Motor"
],
"type" : "executable"
},
{
"c99name" : "Motor",
"module_type" : "SwiftTarget",
"name" : "Motor",
"path" : "Sources/Motor",
"product_dependencies" : [
"ANSIEscapeCode"
],
"product_memberships" : [
"Motor",
"motor-example"
],
"sources" : [
"Animation.swift",
"Animator.swift",
"Pattern.swift",
"Patterns.swift",
"Spinner.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
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/8] Write sources
[2/8] Write motor-example-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/18] Compiling ANSIEscapeCode PrintANSIEscapeCode.swift
[7/18] Compiling ANSIEscapeCode Scroll.swift
[8/19] Compiling ANSIEscapeCode BackgroundColor.swift
[9/19] Compiling ANSIEscapeCode ANSIEscapeCode.swift
[10/19] Emitting module ANSIEscapeCode
[11/19] Compiling ANSIEscapeCode Erase.swift
[12/19] Compiling ANSIEscapeCode EraseInDisplayType.swift
[13/19] Compiling ANSIEscapeCode Cursor.swift
[14/19] Compiling ANSIEscapeCode EraseInLineType.swift
[15/19] Compiling ANSIEscapeCode String+ANSIEscapeCode.swift
[16/19] Compiling ANSIEscapeCode TextColor.swift
[17/25] Compiling Motor Pattern.swift
[18/25] Compiling Motor Spinner.swift
[19/25] Compiling Motor Animation.swift
[20/25] Compiling Motor Patterns.swift
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:32:23: warning: static property 'dots' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | /// Dots.
32 | public static let dots = Pattern(
| |- warning: static property 'dots' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | frames: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"],
34 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:37:23: warning: static property 'dots2' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
35 | )
36 | /// Dots 2.
37 | public static let dots2 = Pattern(
| |- warning: static property 'dots2' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots2' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | frames: ["⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"],
39 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:42:23: warning: static property 'dots3' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
40 | )
41 | /// Dots 3.
42 | public static let dots3 = Pattern(
| |- warning: static property 'dots3' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots3' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | frames: ["⠄", "⠆", "⠇", "⠋", "⠙", "⠸", "⠰", "⠠", "⠰", "⠸", "⠙", "⠋", "⠇", "⠆"],
44 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:47:23: warning: static property 'bouncingBar' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
45 | )
46 | /// Bouncing bar.
47 | public static let bouncingBar = Pattern(
| |- warning: static property 'bouncingBar' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bouncingBar' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | frames: ["[ ]", "[= ]", "[== ]", "[=== ]", "[====]", "[ ===]", "[ ==]", "[ =]", "[ ]"],
49 | fps: 10
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
[21/25] Compiling Motor Animator.swift
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Animator.swift:30:12: warning: class 'Animator' must restate inherited '@unchecked Sendable' conformance
28 |
29 | /// Spinner animator.
30 | open class Animator: Operation {
| `- warning: class 'Animator' must restate inherited '@unchecked Sendable' conformance
31 |
32 | /// Text displayed beside spinner.
[22/25] Emitting module Motor
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Animator.swift:30:12: warning: class 'Animator' must restate inherited '@unchecked Sendable' conformance
28 |
29 | /// Spinner animator.
30 | open class Animator: Operation {
| `- warning: class 'Animator' must restate inherited '@unchecked Sendable' conformance
31 |
32 | /// Text displayed beside spinner.
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:32:23: warning: static property 'dots' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | /// Dots.
32 | public static let dots = Pattern(
| |- warning: static property 'dots' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | frames: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"],
34 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:37:23: warning: static property 'dots2' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
35 | )
36 | /// Dots 2.
37 | public static let dots2 = Pattern(
| |- warning: static property 'dots2' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots2' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | frames: ["⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"],
39 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:42:23: warning: static property 'dots3' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
40 | )
41 | /// Dots 3.
42 | public static let dots3 = Pattern(
| |- warning: static property 'dots3' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dots3' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | frames: ["⠄", "⠆", "⠇", "⠋", "⠙", "⠸", "⠰", "⠠", "⠰", "⠸", "⠙", "⠋", "⠇", "⠆"],
44 | fps: 14
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Patterns.swift:47:23: warning: static property 'bouncingBar' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
45 | )
46 | /// Bouncing bar.
47 | public static let bouncingBar = Pattern(
| |- warning: static property 'bouncingBar' is not concurrency-safe because non-'Sendable' type 'Pattern' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bouncingBar' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | frames: ["[ ]", "[= ]", "[== ]", "[=== ]", "[====]", "[ ===]", "[ ==]", "[ =]", "[ ]"],
49 | fps: 10
/Users/admin/builder/spi-builder-workspace/Sources/Motor/Pattern.swift:29:15: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
27 |
28 | /// Spinner pattern.
29 | public struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
30 |
31 | /// Each frame
[23/27] Compiling motor_example main.swift
[24/27] Emitting module motor_example
[24/27] Write Objects.LinkFileList
[25/27] Linking motor-example
[26/27] Applying motor-example
Build complete! (7.66s)
Build complete.
{
"dependencies" : [
{
"identity" : "ansiescapecode",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/flintbox/ANSIEscapeCode"
}
],
"manifest_display_name" : "Motor",
"name" : "Motor",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Motor",
"targets" : [
"Motor"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "motor-example",
"targets" : [
"motor-example"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "motor_example",
"module_type" : "SwiftTarget",
"name" : "motor-example",
"path" : "Sources/motor-example",
"product_memberships" : [
"motor-example"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Motor"
],
"type" : "executable"
},
{
"c99name" : "Motor",
"module_type" : "SwiftTarget",
"name" : "Motor",
"path" : "Sources/Motor",
"product_dependencies" : [
"ANSIEscapeCode"
],
"product_memberships" : [
"Motor",
"motor-example"
],
"sources" : [
"Animation.swift",
"Animator.swift",
"Pattern.swift",
"Patterns.swift",
"Spinner.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.