Build Information
Successful build of CampusDualKit, reference 0.2.1 (8f5824
), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 13:42:45 UTC.
Swift 6 data race errors: 2
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/jonasrichardrichter/CampusDualKit.git
Reference: 0.2.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jonasrichardrichter/CampusDualKit
* tag 0.2.1 -> FETCH_HEAD
HEAD is now at 8f58241 Fix bug
Cloned https://github.com/jonasrichardrichter/CampusDualKit.git
Revision (git rev-parse @):
8f582414f43e9bb8f6f1fcaf19574cb04e0a7857
SUCCESS checkout https://github.com/jonasrichardrichter/CampusDualKit.git at 0.2.1
Fetching https://github.com/apple/swift-log.git
[1/3660] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.10s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.4.2 (0.66s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.4.2
========================================
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": "campusdualkit",
"name": "CampusDualKit",
"url": "https://github.com/jonasrichardrichter/CampusDualKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CampusDualKit",
"dependencies": [
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/jonasrichardrichter/CampusDualKit.git
[1/201] Fetching campusdualkit
Fetched https://github.com/jonasrichardrichter/CampusDualKit.git from cache (0.66s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.59s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.1 (0.48s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.1
Creating working copy for https://github.com/jonasrichardrichter/CampusDualKit.git
Working copy of https://github.com/jonasrichardrichter/CampusDualKit.git resolved at 0.2.1 (8f58241)
warning: '.resolve-product-dependencies': dependency 'campusdualkit' is not used by any target
Found 1 product dependencies
- swift-log
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/jonasrichardrichter/CampusDualKit.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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/7] Compiling Logging Locks.swift
[5/7] Emitting module Logging
[6/7] Compiling Logging LogHandler.swift
[7/7] Compiling Logging Logging.swift
[8/15] Compiling CampusDualKit StudyDay.swift
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/StudyDay.swift:26:23: warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'StudyDay' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// A model representing a study day.
11 | public struct StudyDay: Codable, Hashable {
| `- note: consider making struct 'StudyDay' conform to the 'Sendable' protocol
12 |
13 | /// The initializer for the struct.
:
24 |
25 | /// Example StudyDay with an example lesson.
26 | public static let example = StudyDay(day: Date.init(timeIntervalSince1970: 1793055600), lessons: [Lesson.example])
| |- warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'StudyDay' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'example' 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
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/Lesson.swift:46:23: warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// A model representing a lesson.
11 | public struct Lesson: Codable, Hashable {
| `- note: consider making struct 'Lesson' conform to the 'Sendable' protocol
12 |
13 | /// The initializer for the struct.
:
44 |
45 | /// An example lesson
46 | public static let example = Lesson(title: "Example lesson", start: Date.init(timeIntervalSince1970: 1793097900), end: Date.init(timeIntervalSince1970: 1793103300), description: "This is an example lesson", room: "1.202", instructor: "Prof. Dr. Example")
| |- warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'example' 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
47 | }
48 |
[9/15] Compiling CampusDualKit ScheduleServiceError.swift
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:38:109: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
36 | switch Locale.current.languageCode {
37 | case "de":
38 | return "Es ist ein Fehler bei der Verarbeitung der Daten aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
39 | default:
40 | return "An error occurred while processing the data. More information: \(error?.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:40:90: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
38 | return "Es ist ein Fehler bei der Verarbeitung der Daten aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
39 | default:
40 | return "An error occurred while processing the data. More information: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
41 | }
42 | case .network(let error):
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:45:86: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
43 | switch Locale.current.languageCode {
44 | case "de":
45 | return "Es ist ein Netzwerkfehler aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
46 | default:
47 | return "A network error occurred. More information: \(error?.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:47:71: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
45 | return "Es ist ein Netzwerkfehler aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
46 | default:
47 | return "A network error occurred. More information: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
48 | }
49 | case .other(let error):
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:52:87: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
50 | switch Locale.current.languageCode {
51 | case "de":
52 | return "Ein unbekannter Fehler ist aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
53 | default:
54 | return "An unknown error has occurred. More information: \(error?.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleServiceError.swift:54:76: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
52 | return "Ein unbekannter Fehler ist aufgetreten. Mehr Informationen: \(error?.localizedDescription)"
53 | default:
54 | return "An unknown error has occurred. More information: \(error?.localizedDescription)"
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
55 | }
56 | }
[10/15] Compiling CampusDualKit Logger+CustomInit.swift
[11/15] Emitting module CampusDualKit
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/Lesson.swift:46:23: warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// A model representing a lesson.
11 | public struct Lesson: Codable, Hashable {
| `- note: consider making struct 'Lesson' conform to the 'Sendable' protocol
12 |
13 | /// The initializer for the struct.
:
44 |
45 | /// An example lesson
46 | public static let example = Lesson(title: "Example lesson", start: Date.init(timeIntervalSince1970: 1793097900), end: Date.init(timeIntervalSince1970: 1793103300), description: "This is an example lesson", room: "1.202", instructor: "Prof. Dr. Example")
| |- warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'example' 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
47 | }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/StudyDay.swift:26:23: warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'StudyDay' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// A model representing a study day.
11 | public struct StudyDay: Codable, Hashable {
| `- note: consider making struct 'StudyDay' conform to the 'Sendable' protocol
12 |
13 | /// The initializer for the struct.
:
24 |
25 | /// Example StudyDay with an example lesson.
26 | public static let example = StudyDay(day: Date.init(timeIntervalSince1970: 1793055600), lessons: [Lesson.example])
| |- warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'StudyDay' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'example' 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
27 | }
28 |
[12/15] Compiling CampusDualKit URL+CampusDual.swift
[13/15] Compiling CampusDualKit Lesson.swift
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/Lesson.swift:46:23: warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// A model representing a lesson.
11 | public struct Lesson: Codable, Hashable {
| `- note: consider making struct 'Lesson' conform to the 'Sendable' protocol
12 |
13 | /// The initializer for the struct.
:
44 |
45 | /// An example lesson
46 | public static let example = Lesson(title: "Example lesson", start: Date.init(timeIntervalSince1970: 1793097900), end: Date.init(timeIntervalSince1970: 1793103300), description: "This is an example lesson", room: "1.202", instructor: "Prof. Dr. Example")
| |- warning: static property 'example' is not concurrency-safe because non-'Sendable' type 'Lesson' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'example' 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
47 | }
48 |
[14/15] Compiling CampusDualKit URLSession+scheduleServiceDataTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/Extensions/URLSession+scheduleServiceDataTask.swift:24:23: warning: immutable value 'response' was never used; consider replacing with '_' or removing it
22 | }
23 |
24 | guard let response = response, let data = data else {
| `- warning: immutable value 'response' was never used; consider replacing with '_' or removing it
25 | completion(.failure(.network(nil)))
26 | return
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/Extensions/URLSession+scheduleServiceDataTask.swift:20:17: warning: capture of 'completion' with non-sendable type '(Result<T, ScheduleServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |
19 | guard error == nil else {
20 | completion(.failure(.network(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, ScheduleServiceError>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
21 | return
22 | }
[15/15] Compiling CampusDualKit ScheduleService.swift
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:76:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
74 | try await withCheckedThrowingContinuation() { continuation in
75 | self.login(for: username, with: password, session: session) { result in
76 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
77 | }
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/CampusDualKit/ScheduleService/ScheduleService.swift:125:30: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
123 | try await withCheckedThrowingContinuation() { continuation in
124 | self.studyDays(from: startDate, to: endDate) { result in
125 | continuation.resume(with: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
126 | }
127 | }
Build complete! (11.06s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "CampusDualKit",
"name" : "CampusDualKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "CampusDualKit",
"targets" : [
"CampusDualKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CampusDualKit",
"module_type" : "SwiftTarget",
"name" : "CampusDualKit",
"path" : "Sources/CampusDualKit",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"CampusDualKit"
],
"sources" : [
"Extensions/Logger+CustomInit.swift",
"Extensions/URL+CampusDual.swift",
"Extensions/URLSession+scheduleServiceDataTask.swift",
"ScheduleService/Lesson.swift",
"ScheduleService/ScheduleService.swift",
"ScheduleService/ScheduleServiceError.swift",
"ScheduleService/StudyDay.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.