The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Astral, reference main (e9d873), with Swift 6.1 for macOS (SPM) on 13 Oct 2026 00:57:47 UTC.

Swift 6 data race errors: 8

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: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/xiangyu-sun/Astral.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/xiangyu-sun/Astral
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e9d873f Fix three bugs: moon T factor, midnight rollover, rahukaalam duration
Cloned https://github.com/xiangyu-sun/Astral.git
Revision (git rev-parse @):
e9d873f744021db6f69a06877562ee0ed1091360
SUCCESS checkout https://github.com/xiangyu-sun/Astral.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/xiangyu-sun/Astral.git
https://github.com/xiangyu-sun/Astral.git
{
  "dependencies" : [
    {
      "identity" : "swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/airbnb/swift"
    },
    {
      "identity" : "swift-numerics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-numerics"
    }
  ],
  "manifest_display_name" : "Astral",
  "name" : "Astral",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "Astral",
      "targets" : [
        "Astral"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AstralTests",
      "module_type" : "SwiftTarget",
      "name" : "AstralTests",
      "path" : "Tests/AstralTests",
      "sources" : [
        "AstralTests.swift",
        "AzimuthTests.swift",
        "BugFixRegressionTests.swift",
        "DMSTests.swift",
        "DateCompoenentHelper.swift",
        "ExtremeDateTests.swift",
        "JulianTests.swift",
        "LocationInfoTests.swift",
        "Moon2Tests.swift",
        "MoonPostionTests.swift",
        "MoonTests.swift",
        "ObserverTests.swift",
        "PolarRegionTests.swift",
        "SideRealTests.swift",
        "SolarTermDaysTests.swift",
        "SolarTermTests.swift",
        "SunCalcTests.swift",
        "SunElevationAdjustmentTests.swift",
        "SunGoldenHourTests.swift",
        "SunLocalTests.swift",
        "SunUTCTests.swift",
        "TestTags.swift",
        "XCTAssertEqual.swift"
      ],
      "target_dependencies" : [
        "Astral"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Astral",
      "module_type" : "SwiftTarget",
      "name" : "Astral",
      "path" : "Sources/Astral",
      "product_dependencies" : [
        "Numerics"
      ],
      "product_memberships" : [
        "Astral"
      ],
      "sources" : [
        "Angle.swift",
        "AstralBodyPosition.swift",
        "DateComponent.swift",
        "DateComponents+Comparable.swift",
        "DateToJC.swift",
        "DegressMinutesSeconds.swift",
        "Depression.swift",
        "Int2Double.swift",
        "Julian.swift",
        "LocationInfo.swift",
        "Moon.swift",
        "MoonPhase.swift",
        "Observer.swift",
        "SideReal.swift",
        "SolarTerm.swift",
        "Sun.swift",
        "SunDirection.swift",
        "Table4Row.swift",
        "Types.swift",
        "Zenith.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
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
[1/1] Compiling plugin FormatSwift
[2/2] Compiling plugin GenerateManual
[3/3] Compiling plugin GenerateDoccReference
Building for debugging...
[3/9] Write sources
[7/9] Compiling _NumericsShims _NumericsShims.c
[8/9] Write swift-version-2F0A5646E1D333AE.txt
[10/20] Compiling RealModule Float80+Real.swift
[11/20] Compiling RealModule ElementaryFunctions.swift
[12/20] Compiling RealModule Real.swift
[13/20] Compiling RealModule RealFunctions.swift
[14/21] Compiling RealModule Float16+Real.swift
[15/21] Compiling RealModule Float+Real.swift
[16/21] Compiling RealModule AugmentedArithmetic.swift
[17/21] Compiling RealModule AlgebraicField.swift
[18/21] Compiling RealModule ApproximateEquality.swift
[19/21] Emitting module RealModule
[20/21] Compiling RealModule Double+Real.swift
[21/21] Compiling RealModule RelaxedArithmetic.swift
[22/32] Compiling ComplexModule Polar.swift
[23/33] Compiling ComplexModule Complex+Numeric.swift
[24/33] Compiling ComplexModule Complex+StringConvertible.swift
[25/33] Compiling ComplexModule Complex.swift
[26/33] Compiling ComplexModule Complex+IntegerLiteral.swift
[27/33] Compiling ComplexModule Complex+Hashable.swift
[28/33] Compiling ComplexModule Scale.swift
[29/33] Compiling ComplexModule Complex+Codable.swift
[30/33] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[31/33] Compiling ComplexModule Complex+AlgebraicField.swift
[32/33] Compiling ComplexModule Complex+ElementaryFunctions.swift
[33/33] Emitting module ComplexModule
[34/35] Compiling Numerics Numerics.swift
[35/35] Emitting module Numerics
[36/54] Compiling Astral Depression.swift
[37/54] Compiling Astral Int2Double.swift
[38/56] Emitting module Astral
/Users/admin/builder/spi-builder-workspace/Sources/Astral/DateComponents+Comparable.swift:13:1: warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
11 |
12 | /// Allows `DateComponents` values to be compared using their total seconds.
13 | extension DateComponents: Comparable {
   | |- warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 |
15 |   /// Returns `true` if `lhs` occurs before `rhs` when both are interpreted as durations.
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:47:21: warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
45 |   // MARK: Public
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
   |                     |- warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'london' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:48:21: warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
   |                     |- warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'newDelhi' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:49:21: warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
   |                     |- warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'riyadh' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |   public static let wellington = try! Observer(
51 |     latitude: " 41° 17' 11.256'' S",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:50:21: warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
   |                     |- warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'wellington' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |     latitude: " 41° 17' 11.256'' S",
52 |     longitude: "174° 46' 34.4496'' E",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:54:21: warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
52 |     longitude: "174° 46' 34.4496'' E",
53 |     elevation: .double(13.000))
54 |   public static let barcelona = try! Observer(
   |                     |- warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'barcelona' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |     latitude: "41° 23' 24.7380'' N",
56 |     longitude: "2° 9' 14.4252'' E",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:37:5: warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
 35 | // MARK: - Lunar Series Tables
 36 |
 37 | let table4_v: [Table4Row] = [
    |     |- warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_v' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |   Table4Row(0.39558, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 1, Ls: 0, Gs: 0, L2: 0]),
 39 |   Table4Row(0.08200, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:104:5: warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
102 | ]
103 |
104 | let table4_u: [Table4Row] = [
    |     |- warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_u' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
105 |   Table4Row(1, false, cos, [Gm: 0, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
106 |   Table4Row(-0.10828, false, cos, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:137:5: warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
135 | ]
136 |
137 | let table4_w: [Table4Row] = [
    |     |- warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_w' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |   Table4Row(0.10478, false, sin, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
139 |   Table4Row(-0.04105, false, sin, [Gm: 0, Fm: 2, D: 0, Om: 2, Ls: 0, Gs: 0, L2: 0]),
[39/56] Compiling Astral DateToJC.swift
[40/56] Compiling Astral DegressMinutesSeconds.swift
[41/56] Compiling Astral Julian.swift
[42/56] Compiling Astral LocationInfo.swift
[43/56] Compiling Astral Angle.swift
[44/56] Compiling Astral AstralBodyPosition.swift
[45/56] Compiling Astral Types.swift
[46/56] Compiling Astral Zenith.swift
[47/56] Compiling Astral DateComponent.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/DateComponents+Comparable.swift:13:1: warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
11 |
12 | /// Allows `DateComponents` values to be compared using their total seconds.
13 | extension DateComponents: Comparable {
   | |- warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 |
15 |   /// Returns `true` if `lhs` occurs before `rhs` when both are interpreted as durations.
[48/56] Compiling Astral DateComponents+Comparable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/DateComponents+Comparable.swift:13:1: warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
11 |
12 | /// Allows `DateComponents` values to be compared using their total seconds.
13 | extension DateComponents: Comparable {
   | |- warning: extension declares a conformance of imported type 'DateComponents' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
14 |
15 |   /// Returns `true` if `lhs` occurs before `rhs` when both are interpreted as durations.
[49/56] Compiling Astral SolarTerm.swift
[50/56] Compiling Astral Sun.swift
[51/56] Compiling Astral SunDirection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:37:5: warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
 35 | // MARK: - Lunar Series Tables
 36 |
 37 | let table4_v: [Table4Row] = [
    |     |- warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_v' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |   Table4Row(0.39558, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 1, Ls: 0, Gs: 0, L2: 0]),
 39 |   Table4Row(0.08200, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:104:5: warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
102 | ]
103 |
104 | let table4_u: [Table4Row] = [
    |     |- warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_u' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
105 |   Table4Row(1, false, cos, [Gm: 0, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
106 |   Table4Row(-0.10828, false, cos, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:137:5: warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
135 | ]
136 |
137 | let table4_w: [Table4Row] = [
    |     |- warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_w' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |   Table4Row(0.10478, false, sin, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
139 |   Table4Row(-0.04105, false, sin, [Gm: 0, Fm: 2, D: 0, Om: 2, Ls: 0, Gs: 0, L2: 0]),
[52/56] Compiling Astral Table4Row.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:37:5: warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
 35 | // MARK: - Lunar Series Tables
 36 |
 37 | let table4_v: [Table4Row] = [
    |     |- warning: let 'table4_v' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_v' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |   Table4Row(0.39558, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 1, Ls: 0, Gs: 0, L2: 0]),
 39 |   Table4Row(0.08200, false, sin, [Gm: 0, Fm: 1, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:104:5: warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
102 | ]
103 |
104 | let table4_u: [Table4Row] = [
    |     |- warning: let 'table4_u' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_u' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
105 |   Table4Row(1, false, cos, [Gm: 0, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
106 |   Table4Row(-0.10828, false, cos, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Table4Row.swift:137:5: warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
 19 | // MARK: - Table4Row
 20 |
 21 | struct Table4Row {
    |        `- note: consider making struct 'Table4Row' conform to the 'Sendable' protocol
 22 |   init(_ coefficient: Double, _ t: Bool, _ sincos: @escaping (Double) -> Double, _ argument_multiplers: [Int: Int]) {
 23 |     self.coefficient = coefficient
    :
135 | ]
136 |
137 | let table4_w: [Table4Row] = [
    |     |- warning: let 'table4_w' is not concurrency-safe because non-'Sendable' type '[Table4Row]' may have shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: add '@MainActor' to make let 'table4_w' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |   Table4Row(0.10478, false, sin, [Gm: 1, Fm: 0, D: 0, Om: 0, Ls: 0, Gs: 0, L2: 0]),
139 |   Table4Row(-0.04105, false, sin, [Gm: 0, Fm: 2, D: 0, Om: 2, Ls: 0, Gs: 0, L2: 0]),
[53/56] Compiling Astral Observer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:47:21: warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
45 |   // MARK: Public
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
   |                     |- warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'london' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:48:21: warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
   |                     |- warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'newDelhi' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:49:21: warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
   |                     |- warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'riyadh' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |   public static let wellington = try! Observer(
51 |     latitude: " 41° 17' 11.256'' S",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:50:21: warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
   |                     |- warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'wellington' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |     latitude: " 41° 17' 11.256'' S",
52 |     longitude: "174° 46' 34.4496'' E",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:54:21: warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
52 |     longitude: "174° 46' 34.4496'' E",
53 |     elevation: .double(13.000))
54 |   public static let barcelona = try! Observer(
   |                     |- warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'barcelona' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |     latitude: "41° 23' 24.7380'' N",
56 |     longitude: "2° 9' 14.4252'' E",
[54/56] Compiling Astral SideReal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:47:21: warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
45 |   // MARK: Public
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
   |                     |- warning: static property 'london' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'london' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:48:21: warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
46 |
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
   |                     |- warning: static property 'newDelhi' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'newDelhi' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:49:21: warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
47 |   public static let london = Observer(latitude: 51.4733, longitude: -0.0008333, elevation: .double(0))
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
   |                     |- warning: static property 'riyadh' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'riyadh' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |   public static let wellington = try! Observer(
51 |     latitude: " 41° 17' 11.256'' S",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:50:21: warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
48 |   public static let newDelhi = Observer(latitude: 28.6139, longitude: 77.2090, elevation: .double(0))
49 |   public static let riyadh = Observer(latitude: 25, longitude: 46.7, elevation: .double(620))
50 |   public static let wellington = try! Observer(
   |                     |- warning: static property 'wellington' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'wellington' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |     latitude: " 41° 17' 11.256'' S",
52 |     longitude: "174° 46' 34.4496'' E",
/Users/admin/builder/spi-builder-workspace/Sources/Astral/Observer.swift:54:21: warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
24 | ///        elevation:  Elevation and/or distance to nearest obscuring feature
25 | ///                    in metres above/below the location.
26 | public struct Observer {
   |               `- note: consider making struct 'Observer' conform to the 'Sendable' protocol
27 |
28 |   // MARK: Lifecycle
   :
52 |     longitude: "174° 46' 34.4496'' E",
53 |     elevation: .double(13.000))
54 |   public static let barcelona = try! Observer(
   |                     |- warning: static property 'barcelona' is not concurrency-safe because non-'Sendable' type 'Observer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: add '@MainActor' to make static property 'barcelona' part of global actor 'MainActor'
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |     latitude: "41° 23' 24.7380'' N",
56 |     longitude: "2° 9' 14.4252'' E",
[55/56] Compiling Astral Moon.swift
[56/56] Compiling Astral MoonPhase.swift
Build complete! (26.77s)
Fetching https://github.com/airbnb/swift
Fetching https://github.com/apple/swift-numerics from cache
[1/5579] Fetching swift
Fetched https://github.com/airbnb/swift from cache (4.57s)
Fetched https://github.com/apple/swift-numerics from cache (4.58s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (5.10s)
Computing version for https://github.com/airbnb/swift
Computed https://github.com/airbnb/swift at 1.2.0 (3.12s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (2.00s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (2.55s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Creating working copy for https://github.com/airbnb/swift
Working copy of https://github.com/airbnb/swift resolved at 1.2.0
Downloading binary artifact https://github.com/calda/SwiftFormat-nightly/releases/download/2025-12-20/SwiftFormat.artifactbundle.zip
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.55.1/SwiftLintBinary-macos.artifactbundle.zip
[6347/46271351] Downloading https://github.com/calda/SwiftFormat-nightly/releases/download/2025-12-20/SwiftFormat.artifactbundle.zip
[25921745/57305396] Downloading https://github.com/calda/SwiftFormat-nightly/releases/download/2025-12-20/SwiftFormat.artifactbundle.zip, https://github.com/realm/SwiftLint/releases/download/0.55.1/SwiftLintBinary-macos.artifactbundle.zip
Downloaded https://github.com/realm/SwiftLint/releases/download/0.55.1/SwiftLintBinary-macos.artifactbundle.zip (0.97s)
Downloaded https://github.com/calda/SwiftFormat-nightly/releases/download/2025-12-20/SwiftFormat.artifactbundle.zip (2.40s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/airbnb/swift"
    },
    {
      "identity" : "swift-numerics",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-numerics"
    }
  ],
  "manifest_display_name" : "Astral",
  "name" : "Astral",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "Astral",
      "targets" : [
        "Astral"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AstralTests",
      "module_type" : "SwiftTarget",
      "name" : "AstralTests",
      "path" : "Tests/AstralTests",
      "sources" : [
        "AstralTests.swift",
        "AzimuthTests.swift",
        "BugFixRegressionTests.swift",
        "DMSTests.swift",
        "DateCompoenentHelper.swift",
        "ExtremeDateTests.swift",
        "JulianTests.swift",
        "LocationInfoTests.swift",
        "Moon2Tests.swift",
        "MoonPostionTests.swift",
        "MoonTests.swift",
        "ObserverTests.swift",
        "PolarRegionTests.swift",
        "SideRealTests.swift",
        "SolarTermDaysTests.swift",
        "SolarTermTests.swift",
        "SunCalcTests.swift",
        "SunElevationAdjustmentTests.swift",
        "SunGoldenHourTests.swift",
        "SunLocalTests.swift",
        "SunUTCTests.swift",
        "TestTags.swift",
        "XCTAssertEqual.swift"
      ],
      "target_dependencies" : [
        "Astral"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Astral",
      "module_type" : "SwiftTarget",
      "name" : "Astral",
      "path" : "Sources/Astral",
      "product_dependencies" : [
        "Numerics"
      ],
      "product_memberships" : [
        "Astral"
      ],
      "sources" : [
        "Angle.swift",
        "AstralBodyPosition.swift",
        "DateComponent.swift",
        "DateComponents+Comparable.swift",
        "DateToJC.swift",
        "DegressMinutesSeconds.swift",
        "Depression.swift",
        "Int2Double.swift",
        "Julian.swift",
        "LocationInfo.swift",
        "Moon.swift",
        "MoonPhase.swift",
        "Observer.swift",
        "SideReal.swift",
        "SolarTerm.swift",
        "Sun.swift",
        "SunDirection.swift",
        "Table4Row.swift",
        "Types.swift",
        "Zenith.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.