Build Information
Successful build of Euclid, reference main (028924
), with Swift 6.1 for Wasm on 31 May 2025 07:22:14 UTC.
Swift 6 data race errors: 2
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nicklockwood/Euclid.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/nicklockwood/Euclid
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 028924d Update for 0.7.14 release
Cloned https://github.com/nicklockwood/Euclid.git
Revision (git rev-parse @):
028924db01786e58f79f8b30b8fbfffd7887ca82
SUCCESS checkout https://github.com/nicklockwood/Euclid.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/nicklockwood/Euclid.git
https://github.com/nicklockwood/Euclid.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Euclid",
"name" : "Euclid",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Euclid",
"targets" : [
"Euclid"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EuclidTests",
"module_type" : "SwiftTarget",
"name" : "EuclidTests",
"path" : "Tests",
"sources" : [
"AngleTests.swift",
"BoundsTests.swift",
"CGPathTests.swift",
"CodingTests.swift",
"Euclid+Testing.swift",
"LineSegmentTests.swift",
"LineTests.swift",
"MeshCSGTests.swift",
"MeshExportTests.swift",
"MeshImportTests.swift",
"MeshShapeTests.swift",
"MeshTests.swift",
"MetadataTests.swift",
"PathShapeTests.swift",
"PathTests.swift",
"PlaneTests.swift",
"PolygonCSGTests.swift",
"PolygonTests.swift",
"QuaternionTests.swift",
"RealityKitTests.swift",
"SceneKitTests.swift",
"StretchableTests.swift",
"TextTests.swift",
"TransformTests.swift",
"UtilityTests.swift",
"VectorTests.swift"
],
"target_dependencies" : [
"Euclid"
],
"type" : "test"
},
{
"c99name" : "Euclid",
"module_type" : "SwiftTarget",
"name" : "Euclid",
"path" : "Sources",
"product_memberships" : [
"Euclid"
],
"sources" : [
"Angle.swift",
"BSP.swift",
"Bounded.swift",
"Bounds.swift",
"Color.swift",
"Euclid+AppKit.swift",
"Euclid+CoreGraphics.swift",
"Euclid+CoreText.swift",
"Euclid+RealityKit.swift",
"Euclid+SIMD.swift",
"Euclid+SceneKit.swift",
"Euclid+UIKit.swift",
"Line.swift",
"LineSegment+CSG.swift",
"LineSegment.swift",
"Mesh+CSG.swift",
"Mesh+IO.swift",
"Mesh+OBJ.swift",
"Mesh+STL.swift",
"Mesh+Shapes.swift",
"Mesh+Texcoords.swift",
"Mesh.swift",
"Path+Shapes.swift",
"Path.swift",
"PathPoint.swift",
"Plane.swift",
"Polygon+CSG.swift",
"Polygon.swift",
"Quaternion.swift",
"Rotation.swift",
"Stretchable.swift",
"Transforms.swift",
"Utilities.swift",
"Vector.swift",
"Vertex.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/34] Emitting module Euclid
/host/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Supported `NSSecureCodable` Material base classes.
122 | static var codableClasses: [AnyClass] = {
| |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | #if canImport(AppKit) || canImport(UIKit)
124 | return [OSImage.self, OSColor.self] + scnMaterialTypes
/host/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
| `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 | /// The translation or position component of the transform.
127 | public var offset: Vector
:
213 | public extension Transform {
214 | /// The identity transform (i.e. no transform).
215 | static let identity = Transform()
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | /// Creates a offset transform.
[4/38] Compiling Euclid Euclid+AppKit.swift
[5/38] Compiling Euclid Euclid+CoreGraphics.swift
[6/38] Compiling Euclid Euclid+CoreText.swift
[7/38] Compiling Euclid Euclid+RealityKit.swift
[8/38] Compiling Euclid Euclid+SIMD.swift
[9/38] Compiling Euclid Euclid+SceneKit.swift
[10/38] Compiling Euclid Euclid+UIKit.swift
[11/38] Compiling Euclid Line.swift
[12/38] Compiling Euclid LineSegment+CSG.swift
[13/38] Compiling Euclid LineSegment.swift
[14/38] Compiling Euclid Angle.swift
[15/38] Compiling Euclid BSP.swift
[16/38] Compiling Euclid Bounded.swift
[17/38] Compiling Euclid Bounds.swift
[18/38] Compiling Euclid Color.swift
[19/38] Compiling Euclid Transforms.swift
/host/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
| `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 | /// The translation or position component of the transform.
127 | public var offset: Vector
:
213 | public extension Transform {
214 | /// The identity transform (i.e. no transform).
215 | static let identity = Transform()
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | /// Creates a offset transform.
[20/38] Compiling Euclid Utilities.swift
/host/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
| `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 | /// The translation or position component of the transform.
127 | public var offset: Vector
:
213 | public extension Transform {
214 | /// The identity transform (i.e. no transform).
215 | static let identity = Transform()
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | /// Creates a offset transform.
[21/38] Compiling Euclid Vector.swift
/host/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
| `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 | /// The translation or position component of the transform.
127 | public var offset: Vector
:
213 | public extension Transform {
214 | /// The identity transform (i.e. no transform).
215 | static let identity = Transform()
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | /// Creates a offset transform.
[22/38] Compiling Euclid Vertex.swift
/host/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
| `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 | /// The translation or position component of the transform.
127 | public var offset: Vector
:
213 | public extension Transform {
214 | /// The identity transform (i.e. no transform).
215 | static let identity = Transform()
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 | /// Creates a offset transform.
[23/38] Compiling Euclid Path.swift
[24/38] Compiling Euclid PathPoint.swift
[25/38] Compiling Euclid Plane.swift
[26/38] Compiling Euclid Polygon+CSG.swift
[27/38] Compiling Euclid Mesh+CSG.swift
[28/38] Compiling Euclid Mesh+IO.swift
[29/38] Compiling Euclid Mesh+OBJ.swift
[30/38] Compiling Euclid Mesh+STL.swift
[31/38] Compiling Euclid Mesh+Shapes.swift
[32/38] Compiling Euclid Mesh+Texcoords.swift
[33/38] Compiling Euclid Mesh.swift
[34/38] Compiling Euclid Path+Shapes.swift
[35/38] Compiling Euclid Polygon.swift
/host/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Supported `NSSecureCodable` Material base classes.
122 | static var codableClasses: [AnyClass] = {
| |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | #if canImport(AppKit) || canImport(UIKit)
124 | return [OSImage.self, OSColor.self] + scnMaterialTypes
[36/38] Compiling Euclid Quaternion.swift
/host/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Supported `NSSecureCodable` Material base classes.
122 | static var codableClasses: [AnyClass] = {
| |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | #if canImport(AppKit) || canImport(UIKit)
124 | return [OSImage.self, OSColor.self] + scnMaterialTypes
[37/38] Compiling Euclid Rotation.swift
/host/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Supported `NSSecureCodable` Material base classes.
122 | static var codableClasses: [AnyClass] = {
| |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | #if canImport(AppKit) || canImport(UIKit)
124 | return [OSImage.self, OSColor.self] + scnMaterialTypes
[38/38] Compiling Euclid Stretchable.swift
/host/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | /// Supported `NSSecureCodable` Material base classes.
122 | static var codableClasses: [AnyClass] = {
| |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | #if canImport(AppKit) || canImport(UIKit)
124 | return [OSImage.self, OSColor.self] + scnMaterialTypes
Build complete! (10.69s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Euclid",
"name" : "Euclid",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Euclid",
"targets" : [
"Euclid"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EuclidTests",
"module_type" : "SwiftTarget",
"name" : "EuclidTests",
"path" : "Tests",
"sources" : [
"AngleTests.swift",
"BoundsTests.swift",
"CGPathTests.swift",
"CodingTests.swift",
"Euclid+Testing.swift",
"LineSegmentTests.swift",
"LineTests.swift",
"MeshCSGTests.swift",
"MeshExportTests.swift",
"MeshImportTests.swift",
"MeshShapeTests.swift",
"MeshTests.swift",
"MetadataTests.swift",
"PathShapeTests.swift",
"PathTests.swift",
"PlaneTests.swift",
"PolygonCSGTests.swift",
"PolygonTests.swift",
"QuaternionTests.swift",
"RealityKitTests.swift",
"SceneKitTests.swift",
"StretchableTests.swift",
"TextTests.swift",
"TransformTests.swift",
"UtilityTests.swift",
"VectorTests.swift"
],
"target_dependencies" : [
"Euclid"
],
"type" : "test"
},
{
"c99name" : "Euclid",
"module_type" : "SwiftTarget",
"name" : "Euclid",
"path" : "Sources",
"product_memberships" : [
"Euclid"
],
"sources" : [
"Angle.swift",
"BSP.swift",
"Bounded.swift",
"Bounds.swift",
"Color.swift",
"Euclid+AppKit.swift",
"Euclid+CoreGraphics.swift",
"Euclid+CoreText.swift",
"Euclid+RealityKit.swift",
"Euclid+SIMD.swift",
"Euclid+SceneKit.swift",
"Euclid+UIKit.swift",
"Line.swift",
"LineSegment+CSG.swift",
"LineSegment.swift",
"Mesh+CSG.swift",
"Mesh+IO.swift",
"Mesh+OBJ.swift",
"Mesh+STL.swift",
"Mesh+Shapes.swift",
"Mesh+Texcoords.swift",
"Mesh.swift",
"Path+Shapes.swift",
"Path.swift",
"PathPoint.swift",
"Plane.swift",
"Polygon+CSG.swift",
"Polygon.swift",
"Quaternion.swift",
"Rotation.swift",
"Stretchable.swift",
"Transforms.swift",
"Utilities.swift",
"Vector.swift",
"Vertex.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Done.