The Swift Package Index logo.Swift Package Index

Build Information

Successful build of FirebladeTime, reference master (347761), with Swift 6.1 for macOS (SPM) on 14 Aug 2026 08:18:44 UTC.

Swift 6 data race errors: 10

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: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fireblade-engine/time.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fireblade-engine/time
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 347761f chore: migrate Renovate config to .github/renovate.json (#18)
Cloned https://github.com/fireblade-engine/time.git
Revision (git rev-parse @):
347761fa115fa91d3fb6e49df70d62b7554660e5
SUCCESS checkout https://github.com/fireblade-engine/time.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/fireblade-engine/time.git
https://github.com/fireblade-engine/time.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FirebladeTime",
  "name" : "FirebladeTime",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "FirebladeTime",
      "targets" : [
        "FirebladeTime"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FirebladeTimeTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimeTests",
      "path" : "Tests/FirebladeTimeTests",
      "sources" : [
        "TimeTests.swift",
        "TimerTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTimePerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimePerformanceTests",
      "path" : "Tests/FirebladeTimePerformanceTests",
      "sources" : [
        "MachTimePerformanceTests.swift",
        "POSIXTimeOfDayPerformanceTests.swift",
        "PosixClockPerformanceTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTime",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTime",
      "path" : "Sources/FirebladeTime",
      "product_memberships" : [
        "FirebladeTime"
      ],
      "sources" : [
        "Duration.swift",
        "MachTime.swift",
        "POSIXClock.swift",
        "POSIXTimeOfDay.swift",
        "Time.swift",
        "TimeProviding.swift",
        "Timer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/10] Compiling FirebladeTime Timer.swift
[4/10] Compiling FirebladeTime Time.swift
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Time.swift:9:34: warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | public enum Time {
 9 |     @usableFromInline static var time: TimeProviding = makeTime()
   |                                  |- warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                  |- note: convert 'time' to a 'let' constant to make 'Sendable' shared state immutable
   |                                  |- note: add '@MainActor' to make static property 'time' part of global actor 'MainActor'
   |                                  `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     @inlinable
[5/10] Compiling FirebladeTime TimeProviding.swift
[6/10] Compiling FirebladeTime POSIXClock.swift
[7/10] Compiling FirebladeTime POSIXTimeOfDay.swift
[8/10] Compiling FirebladeTime Duration.swift
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:32:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:33:23: warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    |                       |- warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'nanosecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:34:23: warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
    |                       |- warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'microsecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:35:23: warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
    |                       |- warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'millisecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:36:23: warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
    |                       |- warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'second' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:37:23: warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
    |                       |- warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'minute' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:38:23: warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
    |                       |- warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'hour' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:39:23: warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
    |                       |- warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'day' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:41:23: warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
    |                       |- warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'maxDuration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |
 43 |     // can hold up to 584,942417355072 years
[9/10] Compiling FirebladeTime MachTime.swift
[10/10] Emitting module FirebladeTime
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:32:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:33:23: warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    |                       |- warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'nanosecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:34:23: warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
    |                       |- warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'microsecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:35:23: warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
    |                       |- warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'millisecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:36:23: warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
    |                       |- warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'second' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:37:23: warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
    |                       |- warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'minute' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:38:23: warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
    |                       |- warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'hour' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:39:23: warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
    |                       |- warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'day' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:41:23: warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
    |                       |- warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'maxDuration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |
 43 |     // can hold up to 584,942417355072 years
/Users/admin/builder/spi-builder-workspace/Sources/FirebladeTime/Time.swift:9:34: warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | public enum Time {
 9 |     @usableFromInline static var time: TimeProviding = makeTime()
   |                                  |- warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                  |- note: convert 'time' to a 'let' constant to make 'Sendable' shared state immutable
   |                                  |- note: add '@MainActor' to make static property 'time' part of global actor 'MainActor'
   |                                  `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     @inlinable
Build complete! (2.15s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FirebladeTime",
  "name" : "FirebladeTime",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "FirebladeTime",
      "targets" : [
        "FirebladeTime"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FirebladeTimeTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimeTests",
      "path" : "Tests/FirebladeTimeTests",
      "sources" : [
        "TimeTests.swift",
        "TimerTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTimePerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimePerformanceTests",
      "path" : "Tests/FirebladeTimePerformanceTests",
      "sources" : [
        "MachTimePerformanceTests.swift",
        "POSIXTimeOfDayPerformanceTests.swift",
        "PosixClockPerformanceTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTime",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTime",
      "path" : "Sources/FirebladeTime",
      "product_memberships" : [
        "FirebladeTime"
      ],
      "sources" : [
        "Duration.swift",
        "MachTime.swift",
        "POSIXClock.swift",
        "POSIXTimeOfDay.swift",
        "Time.swift",
        "TimeProviding.swift",
        "Timer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.