Build Information
Successful build of GeoProjector with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/maparoni/GeoProjector.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/maparoni/GeoProjector
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 8f48d3f Switch to MIT license (#23)
Cloned https://github.com/maparoni/GeoProjector.git
Revision (git rev-parse @):
8f48d3faca2cc40c39a1fd884b588a9a550c176f
SUCCESS checkout https://github.com/maparoni/GeoProjector.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/maparoni/GeoProjector.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/6] Write sources
[5/6] Write swift-version-6F35C1178C84523A.txt
[7/9] Compiling GeoJSONKit GeoJSON+Codable.swift
[8/9] Compiling GeoJSONKit GeoJSON.swift
[9/9] Emitting module GeoJSONKit
[10/25] Compiling GeoJSONKitTurf DouglasPeucker.swift
[11/25] Compiling GeoJSONKitTurf Turf+Polygon.swift
[12/25] Compiling GeoJSONKitTurf Turf.swift
[13/26] Compiling GeoJSONKitTurf Turf+BoundingBox.swift
[14/26] Compiling GeoJSONKitTurf Turf+GeometryObject.swift
[15/26] Compiling GeoJSONKitTurf Position+Helpers.swift
[16/26] Compiling GeoJSONKitTurf RadianCoordinate2D.swift
[17/26] Compiling GeoJSONKitTurf Simplify.swift
[18/26] Compiling GeoJSONKitTurf Spline.swift
[19/26] Compiling GeoJSONKitTurf CoreLocation.swift
[20/26] Compiling GeoJSONKitTurf GeoJSON+Helpers.swift
[21/26] Compiling GeoJSONKitTurf ClosestCoordinate.swift
[22/26] Compiling GeoJSONKitTurf ConvexHull.swift
[23/26] Emitting module GeoJSONKitTurf
[24/26] Compiling GeoJSONKitTurf Turf+LineString.swift
[25/26] Compiling GeoJSONKitTurf Turf+LinearRing.swift
[26/26] Compiling GeoJSONKitTurf MonotoneChain.swift
[27/35] Compiling GeoProjector Projections.swift
[28/35] Compiling GeoProjector Projections+Azimuthal.swift
[29/35] Compiling GeoProjector Projections+Pseudocylindrical.swift
[30/35] Compiling GeoProjector Projections+Cylindrical.swift
[31/35] Compiling GeoProjector Projections+Orthographic.swift
[32/35] Emitting module GeoProjector
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:13:21: warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | public struct Point: Hashable {
13 | public static var zero = Point(x: 0, y: 0)
| |- warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public init(x: Double, y: Double) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:30:21: warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | public struct Size: Hashable {
30 | public static var zero = Size(width: 0, height: 0)
| |- warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | public init(width: Double, height: Double) {
[33/35] Compiling GeoProjector Structs.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:13:21: warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | public struct Point: Hashable {
13 | public static var zero = Point(x: 0, y: 0)
| |- warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public init(x: Double, y: Double) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:30:21: warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | public struct Size: Hashable {
30 | public static var zero = Size(width: 0, height: 0)
| |- warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | public init(width: Double, height: Double) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
[34/35] Compiling GeoProjector Interpolator.swift
[35/35] Compiling GeoProjector Projection.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
[36/42] Compiling GeoDrawer GeoDrawer+CoreGraphics.swift
[37/42] Compiling GeoDrawer GeoMap+UIKit.swift
[38/42] Compiling GeoDrawer GeoMap+AppKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
[39/42] Compiling GeoDrawer GeoDrawer.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:30:21: warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
28 |
29 | public struct Size: Hashable {
30 | public static var zero = Size(width: 0, height: 0)
| |- warning: static property 'zero' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | public init(width: Double, height: Double) {
/Users/admin/builder/spi-builder-workspace/Sources/GeoDrawer/GeoDrawer.swift:87:49: warning: reference to static property 'zero' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
85 | return acc
86 | } else if let first = points.first {
87 | var rect = Rect(origin: first, size: .zero)
| `- warning: reference to static property 'zero' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
88 | for point in points.dropFirst() {
89 | rect.absorb(point)
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:30:21: note: static property declared here
28 |
29 | public struct Size: Hashable {
30 | public static var zero = Size(width: 0, height: 0)
| `- note: static property declared here
31 |
32 | public init(width: Double, height: Double) {
[40/42] Compiling GeoDrawer GeoDrawer+UIKit.swift
[41/42] Compiling GeoDrawer GeoJSON+Continents.swift
[42/42] Emitting module GeoDrawer
/Users/admin/builder/spi-builder-workspace/Sources/GeoProjector/Structs.swift:85:21: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
82 | }
83 |
84 | public struct EdgeInsets: Hashable {
| `- note: consider making struct 'EdgeInsets' conform to the 'Sendable' protocol
85 | public static let zero = EdgeInsets()
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'EdgeInsets' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | public init(top: Double = 0, left: Double = 0, bottom: Double = 0, right: Double = 0) {
Build complete! (47.30s)
Fetching https://github.com/maparoni/geojsonkit-turf
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/maparoni/geojsonkit.git
[1/3064] Fetching geojsonkit-turf
[93/3426] Fetching geojsonkit-turf, geojsonkit
[1923/15105] Fetching geojsonkit-turf, geojsonkit, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.67s)
Fetched https://github.com/maparoni/geojsonkit.git from cache (1.67s)
Fetched https://github.com/maparoni/geojsonkit-turf from cache (1.67s)
Computing version for https://github.com/maparoni/geojsonkit-turf
Computed https://github.com/maparoni/geojsonkit-turf at 0.2.0 (0.71s)
Computing version for https://github.com/maparoni/geojsonkit.git
Computed https://github.com/maparoni/geojsonkit.git at 0.5.2 (0.69s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.2.3 (0.77s)
Creating working copy for https://github.com/maparoni/geojsonkit.git
Working copy of https://github.com/maparoni/geojsonkit.git resolved at 0.5.2
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.2.3
Creating working copy for https://github.com/maparoni/geojsonkit-turf
Working copy of https://github.com/maparoni/geojsonkit-turf resolved at 0.2.0
Build complete.
{
"dependencies" : [
{
"identity" : "geojsonkit",
"requirement" : {
"range" : [
{
"lower_bound" : "0.5.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit.git"
},
{
"identity" : "geojsonkit-turf",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/maparoni/geojsonkit-turf"
}
],
"manifest_display_name" : "GeoProjector",
"name" : "GeoProjector",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "xros",
"version" : "1.0"
}
],
"products" : [
{
"name" : "GeoProjector",
"targets" : [
"GeoProjector"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GeoDrawer",
"targets" : [
"GeoDrawer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GeoProjectorTests",
"module_type" : "SwiftTarget",
"name" : "GeoProjectorTests",
"path" : "Tests/GeoProjectorTests",
"sources" : [
"MapBoundsTests.swift",
"ProjectionTests.swift",
"TranslationTests.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "test"
},
{
"c99name" : "GeoProjector",
"module_type" : "SwiftTarget",
"name" : "GeoProjector",
"path" : "Sources/GeoProjector",
"product_dependencies" : [
"GeoJSONKit",
"GeoJSONKitTurf"
],
"product_memberships" : [
"GeoProjector",
"GeoDrawer"
],
"sources" : [
"Interpolator.swift",
"Projection.swift",
"Projections+Azimuthal.swift",
"Projections+Cylindrical.swift",
"Projections+Orthographic.swift",
"Projections+Pseudocylindrical.swift",
"Projections.swift",
"Structs.swift"
],
"type" : "library"
},
{
"c99name" : "GeoDrawer",
"module_type" : "SwiftTarget",
"name" : "GeoDrawer",
"path" : "Sources/GeoDrawer",
"product_memberships" : [
"GeoDrawer"
],
"sources" : [
"GeoDrawer+CoreGraphics.swift",
"GeoDrawer+UIKit.swift",
"GeoDrawer.swift",
"GeoJSON+Continents.swift",
"GeoMap+AppKit.swift",
"GeoMap+UIKit.swift"
],
"target_dependencies" : [
"GeoProjector"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.