Build Information
Successful build of MijickTimer with Swift 6.0 (beta) for macOS (SPM).
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Mijick/Timer.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Mijick/Timer
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 9874516 Update README
Cloned https://github.com/Mijick/Timer.git
Revision (git rev-parse @):
98745165de6637a8fe27e4c53125499879b52e94
SUCCESS checkout https://github.com/Mijick/Timer.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/Mijick/Timer.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/9] Compiling MijickTimer Public+MTimer.Error.swift
[4/9] Compiling MijickTimer Public+MTimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:15:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | // Current State
[5/9] Compiling MijickTimer Public+MTime.swift
[6/9] Compiling MijickTimer MTime.swift
[7/9] Compiling MijickTimer NotificationCenter++.swift
[8/9] Emitting module MijickTimer
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:15:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | // Current State
[9/9] Compiling MijickTimer MTimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:15:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MTimer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | // Current State
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:91:20: warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
16 |
:
89 | private extension MTimer {
90 | func updateInternalTimer(_ start: Bool) { DispatchQueue.main.async { [self] in switch start {
91 | case true: updateInternalTimerStart()
| `- warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
92 | case false: updateInternalTimerStop()
93 | }}}
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:101:96: warning: converting non-sendable function value to '@Sendable (Timer) -> Void' may introduce data races
99 | private extension MTimer {
100 | func updateInternalTimerStart() {
101 | internalTimer = .scheduledTimer(withTimeInterval: publisherTime, repeats: true, block: handleTimeChange)
| `- warning: converting non-sendable function value to '@Sendable (Timer) -> Void' may introduce data races
102 | internalTimer?.tolerance = publisherTimeTolerance
103 | updateInternalTimerStartAddToRunLoop()
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:177:9: warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
16 |
:
175 | private extension MTimer {
176 | func publishTimerStatusChange() { DispatchQueue.main.async { [self] in
177 | onTimerActivityChange?(isTimerRunning)
| `- warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | }}
179 | func publishRunningTimeChange() { DispatchQueue.main.async { [self] in
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:180:9: warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | public final class MTimer {
| `- note: class 'MTimer' does not conform to the 'Sendable' protocol
15 | static let shared: MTimer = .init()
16 |
:
178 | }}
179 | func publishRunningTimeChange() { DispatchQueue.main.async { [self] in
180 | onRunningTimeChange?(.init(runningTime))
| `- warning: capture of 'self' with non-sendable type 'MTimer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
181 | onTimerProgressChange?(calculateTimerProgress())
182 | }}
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:91:20: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
89 | private extension MTimer {
90 | func updateInternalTimer(_ start: Bool) { DispatchQueue.main.async { [self] in switch start {
91 | case true: updateInternalTimerStart()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
92 | case false: updateInternalTimerStop()
93 | }}}
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:177:9: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
175 | private extension MTimer {
176 | func publishTimerStatusChange() { DispatchQueue.main.async { [self] in
177 | onTimerActivityChange?(isTimerRunning)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
178 | }}
179 | func publishRunningTimeChange() { DispatchQueue.main.async { [self] in
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MTimer.swift:180:9: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
178 | }}
179 | func publishRunningTimeChange() { DispatchQueue.main.async { [self] in
180 | onRunningTimeChange?(.init(runningTime))
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
181 | onTimerProgressChange?(calculateTimerProgress())
182 | }}
Build complete! (32.90s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MijickTimer",
"name" : "MijickTimer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "MijickTimer",
"targets" : [
"MijickTimer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MijickTimerTests",
"module_type" : "SwiftTarget",
"name" : "MijickTimerTests",
"path" : "Tests",
"sources" : [
"MTimeTests.swift",
"MTimerTests.swift"
],
"target_dependencies" : [
"MijickTimer"
],
"type" : "test"
},
{
"c99name" : "MijickTimer",
"module_type" : "SwiftTarget",
"name" : "MijickTimer",
"path" : "Sources",
"product_memberships" : [
"MijickTimer"
],
"sources" : [
"Internal/Extensions/NotificationCenter++.swift",
"Internal/MTime.swift",
"Internal/MTimer.swift",
"Public/Public+MTime.swift",
"Public/Public+MTimer.Error.swift",
"Public/Public+MTimer.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.