The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SwissEphemeris, reference main (9d9ac6), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 21:23:43 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vsmithers1087/SwissEphemeris.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/vsmithers1087/SwissEphemeris
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9d9ac62 Make ZodiacCoordinate init public (#18)
Cloned https://github.com/vsmithers1087/SwissEphemeris.git
Revision (git rev-parse @):
9d9ac62383eafa176e744af1130dcb0da17ca325
SUCCESS checkout https://github.com/vsmithers1087/SwissEphemeris.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": "swissephemeris",
      "name": "SwissEphemeris",
      "url": "https://github.com/vsmithers1087/SwissEphemeris.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwissEphemeris",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/vsmithers1087/SwissEphemeris.git
[1/602] Fetching swissephemeris
Fetched https://github.com/vsmithers1087/SwissEphemeris.git from cache (4.24s)
Creating working copy for https://github.com/vsmithers1087/SwissEphemeris.git
Working copy of https://github.com/vsmithers1087/SwissEphemeris.git resolved at main (9d9ac62)
warning: '.resolve-product-dependencies': dependency 'swissephemeris' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/vsmithers1087/SwissEphemeris.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/22] Copying sweph.sln
[1/22] Copying swedecl64.txt
[2/22] Copying swedecl.txt
[3/22] Copying sepl_18.se1
[4/22] Copying seorbel.txt
[5/22] Copying semo_18.se1
[6/22] Copying seleapsec.txt
[7/22] Copying sefstars.txt
[8/22] Copying sedeltat.txt.inactive
[8/22] Copying seas_18.se1
[10/22] Copying ast_list.txt
[11/22] Write sources
[12/22] Write swift-version--7754E27361AE5C74.txt
[13/22] Compiling swejpl.c
[14/22] Compiling swedate.c
[15/22] Compiling swemplan.c
[16/22] Compiling swehouse.c
[17/22] Compiling swephlib.c
[18/22] Compiling swemmoon.c
[19/22] Compiling swecl.c
[20/22] Compiling swehel.c
[21/22] Compiling sweph.c
[23/49] Emitting module SwissEphemeris
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Extensions/Date+Strideable.swift:10:1: warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension Date: Strideable {}
   | |- warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/PlanetPairs.swift:14:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 |
13 |     /// Holds all possible pairs of planets.
14 |     public private (set) var pairs = [Pair<Planet, Planet>]()
   |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 |
16 |     /// Creates an instance of `PlanetPairs`.
[24/51] Compiling SwissEphemeris CelestialBody.swift
[25/51] Compiling SwissEphemeris ZodiacMappable.swift
[26/51] Compiling SwissEphemeris RiseTime.swift
[27/51] Compiling SwissEphemeris HouseSystem.swift
[28/51] Compiling SwissEphemeris LunarMansion.swift
[29/51] Compiling SwissEphemeris LunarNorthNode.swift
[30/51] Compiling SwissEphemeris SetTime.swift
[31/51] Compiling SwissEphemeris Station.swift
[32/51] Compiling SwissEphemeris JPLFileManager.swift
[33/51] Compiling SwissEphemeris Aspect.swift
[34/51] Compiling SwissEphemeris Asteroid.swift
[35/51] Compiling SwissEphemeris Ayanamsha.swift
[36/51] Compiling SwissEphemeris ZodiacCoordinate.swift
[37/51] Compiling SwissEphemeris resource_bundle_accessor.swift
[38/51] Compiling SwissEphemeris Date+Strideable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Extensions/Date+Strideable.swift:10:1: warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension Date: Strideable {}
   | |- warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |
[39/51] Compiling SwissEphemeris FixedStar.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Extensions/Date+Strideable.swift:10:1: warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension Date: Strideable {}
   | |- warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |
[40/51] Compiling SwissEphemeris HouseCusps.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Extensions/Date+Strideable.swift:10:1: warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 8 | import Foundation
 9 |
10 | extension Date: Strideable {}
   | |- warning: extension declares a conformance of imported type 'Date' to imported protocol 'Strideable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |
[41/51] Compiling SwissEphemeris LunarSouthNode.swift
[42/51] Compiling SwissEphemeris Lunation.swift
[43/51] Compiling SwissEphemeris Pair.swift
[44/51] Compiling SwissEphemeris Coordinate.swift
[45/51] Compiling SwissEphemeris Cusp.swift
[46/51] Compiling SwissEphemeris Date+JulianDate.swift
[47/51] Compiling SwissEphemeris PlanetsRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:36:43: warning: capture of 'self' with non-sendable type 'PlanetsRequest' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 9 |
10 | /// A `BatchRequest` for a collection of `Planet` `Coordinates`.
11 | final public class PlanetsRequest: BatchRequest {
   |                    `- note: class 'PlanetsRequest' does not conform to the 'Sendable' protocol
12 |
13 |     /// The `Planet` to request.
   :
34 | 			}
35 | 			let batch = dates.removeFirst()
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
   |                                           `- warning: capture of 'self' with non-sendable type 'PlanetsRequest' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | 		}
38 | 		for await items in stream {
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:29:11: warning: reference to captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
27 | 		var dates = dates(for: start, end: end, interval: interval)
28 | 		let stream = AsyncStream<[EphemerisItem]> {
29 | 			guard !dates.isEmpty else { return nil }
   |           `- warning: reference to captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
30 | 			do {
31 | 				try await Task.sleep(nanoseconds: 1)
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:35:16: warning: mutation of captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | 				return nil
34 | 			}
35 | 			let batch = dates.removeFirst()
   |                `- warning: mutation of captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
37 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:36:43: warning: capture of 'self' with non-sendable type 'PlanetsRequest' in an isolated closure; this is an error in the Swift 6 language mode
 9 |
10 | /// A `BatchRequest` for a collection of `Planet` `Coordinates`.
11 | final public class PlanetsRequest: BatchRequest {
   |                    `- note: class 'PlanetsRequest' does not conform to the 'Sendable' protocol
12 |
13 |     /// The `Planet` to request.
   :
34 | 			}
35 | 			let batch = dates.removeFirst()
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
   |                                           `- warning: capture of 'self' with non-sendable type 'PlanetsRequest' in an isolated closure; this is an error in the Swift 6 language mode
37 | 		}
38 | 		for await items in stream {
[48/51] Compiling SwissEphemeris Zodiac.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:36:43: warning: capture of 'self' with non-sendable type 'PlanetsRequest' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 9 |
10 | /// A `BatchRequest` for a collection of `Planet` `Coordinates`.
11 | final public class PlanetsRequest: BatchRequest {
   |                    `- note: class 'PlanetsRequest' does not conform to the 'Sendable' protocol
12 |
13 |     /// The `Planet` to request.
   :
34 | 			}
35 | 			let batch = dates.removeFirst()
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
   |                                           `- warning: capture of 'self' with non-sendable type 'PlanetsRequest' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | 		}
38 | 		for await items in stream {
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:29:11: warning: reference to captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
27 | 		var dates = dates(for: start, end: end, interval: interval)
28 | 		let stream = AsyncStream<[EphemerisItem]> {
29 | 			guard !dates.isEmpty else { return nil }
   |           `- warning: reference to captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
30 | 			do {
31 | 				try await Task.sleep(nanoseconds: 1)
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:35:16: warning: mutation of captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | 				return nil
34 | 			}
35 | 			let batch = dates.removeFirst()
   |                `- warning: mutation of captured var 'dates' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
37 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/Utility/PlanetsRequest.swift:36:43: warning: capture of 'self' with non-sendable type 'PlanetsRequest' in an isolated closure; this is an error in the Swift 6 language mode
 9 |
10 | /// A `BatchRequest` for a collection of `Planet` `Coordinates`.
11 | final public class PlanetsRequest: BatchRequest {
   |                    `- note: class 'PlanetsRequest' does not conform to the 'Sendable' protocol
12 |
13 |     /// The `Planet` to request.
   :
34 | 			}
35 | 			let batch = dates.removeFirst()
36 | 			return batch.map { EphemerisItem(body: self.body, date: $0) }
   |                                           `- warning: capture of 'self' with non-sendable type 'PlanetsRequest' in an isolated closure; this is an error in the Swift 6 language mode
37 | 		}
38 | 		for await items in stream {
[49/51] Compiling SwissEphemeris Planet.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/PlanetPairs.swift:14:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 |
13 |     /// Holds all possible pairs of planets.
14 |     public private (set) var pairs = [Pair<Planet, Planet>]()
   |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 |
16 |     /// Creates an instance of `PlanetPairs`.
[50/51] Compiling SwissEphemeris PlanetPairs.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/PlanetPairs.swift:14:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 |
13 |     /// Holds all possible pairs of planets.
14 |     public private (set) var pairs = [Pair<Planet, Planet>]()
   |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 |
16 |     /// Creates an instance of `PlanetPairs`.
[51/51] Compiling SwissEphemeris BatchRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/PlanetPairs.swift:14:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 |
13 |     /// Holds all possible pairs of planets.
14 |     public private (set) var pairs = [Pair<Planet, Planet>]()
   |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 |
16 |     /// Creates an instance of `PlanetPairs`.
Build complete! (18.25s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwissEphemeris",
  "name" : "SwissEphemeris",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "SwissEphemeris",
      "targets" : [
        "SwissEphemeris"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwissEphemerisTests",
      "module_type" : "SwiftTarget",
      "name" : "SwissEphemerisTests",
      "path" : "Tests/SwissEphemerisTests",
      "sources" : [
        "CelestialBodyTests.swift",
        "FixedStarsTests.swift",
        "Mock.swift",
        "PerformanceTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SwissEphemeris"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwissEphemeris",
      "module_type" : "SwiftTarget",
      "name" : "SwissEphemeris",
      "path" : "Sources/SwissEphemeris",
      "product_memberships" : [
        "SwissEphemeris"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/ast_list.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/seas_18.se1",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/sedeltat.txt.inactive",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/sefstars.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/seleapsec.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/semo_18.se1",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/seorbel.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/sepl_18.se1",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/swedecl.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/swedecl64.txt",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwissEphemeris/JPL/sweph.sln",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Aspect.swift",
        "Asteroid.swift",
        "Ayanamsha.swift",
        "Coordinate.swift",
        "Cusp.swift",
        "Extensions/Date+JulianDate.swift",
        "Extensions/Date+Strideable.swift",
        "FixedStar.swift",
        "HouseCusps.swift",
        "HouseSystem.swift",
        "LunarMansion.swift",
        "LunarNorthNode.swift",
        "LunarSouthNode.swift",
        "Lunation.swift",
        "Pair.swift",
        "Planet.swift",
        "PlanetPairs.swift",
        "Protocols/BatchRequest.swift",
        "Protocols/CelestialBody.swift",
        "Protocols/ZodiacMappable.swift",
        "RiseTime.swift",
        "SetTime.swift",
        "Station.swift",
        "Utility/JPLFileManager.swift",
        "Utility/PlanetsRequest.swift",
        "Zodiac.swift",
        "ZodiacCoordinate.swift"
      ],
      "target_dependencies" : [
        "CSwissEphemeris"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CSwissEphemeris",
      "module_type" : "ClangTarget",
      "name" : "CSwissEphemeris",
      "path" : "Sources/CSwissEphemeris",
      "product_memberships" : [
        "SwissEphemeris"
      ],
      "sources" : [
        "sweph/src/swecl.c",
        "sweph/src/swedate.c",
        "sweph/src/swehel.c",
        "sweph/src/swehouse.c",
        "sweph/src/swejpl.c",
        "sweph/src/swemmoon.c",
        "sweph/src/swemplan.c",
        "sweph/src/sweph.c",
        "sweph/src/swephlib.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.