Build Information
Successful build of LastFMKit, reference master (90c9fc
), with Swift 6.1 for macOS (SPM) on 13 Jul 2025 11:33:28 UTC.
Swift 6 data race errors: 5
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: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/guitaripod/LastFMKit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/guitaripod/LastFMKit
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 90c9fc3 Update GitHub username from marcusziade to guitaripod
Cloned https://github.com/guitaripod/LastFMKit.git
Revision (git rev-parse @):
90c9fc390a5c8a49a390e8bcd9acaba88cc6ffcf
SUCCESS checkout https://github.com/guitaripod/LastFMKit.git at master
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-log from cache
Fetching https://github.com/apple/swift-argument-parser from cache
[1/2094] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-log from cache (0.69s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.10s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.16s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (4.18s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.78s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.44s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.50s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.47s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
========================================
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": "lastfmkit",
"name": "LastFMKit",
"url": "https://github.com/guitaripod/LastFMKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LastFMKit",
"dependencies": [
{
"identity": "swift-argument-parser",
"name": "swift-argument-parser",
"url": "https://github.com/apple/swift-argument-parser",
"version": "1.6.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
"dependencies": [
]
},
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log",
"version": "1.6.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/guitaripod/LastFMKit.git
[1/205] Fetching lastfmkit
Fetched https://github.com/guitaripod/LastFMKit.git from cache (0.66s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetching https://github.com/apple/swift-log from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.53s)
Fetched https://github.com/apple/swift-log from cache (0.53s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.60s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.03s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/guitaripod/LastFMKit.git
Working copy of https://github.com/guitaripod/LastFMKit.git resolved at master (90c9fc3)
Found 2 product dependencies
- swift-argument-parser
- swift-log
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/guitaripod/LastFMKit.git
https://github.com/guitaripod/LastFMKit.git
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "LastFMKit",
"name" : "LastFMKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "watchos",
"version" : "9.0"
}
],
"products" : [
{
"name" : "LastFMKit",
"targets" : [
"LastFMKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "lastfm-cli",
"targets" : [
"LastFMCLI"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "LastFMKitTests",
"module_type" : "SwiftTarget",
"name" : "LastFMKitTests",
"path" : "Tests/LastFMKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/LastFMKitTests/Resources/README.md",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"BasicTests.swift"
],
"target_dependencies" : [
"LastFMKit"
],
"type" : "test"
},
{
"c99name" : "LastFMKit",
"module_type" : "SwiftTarget",
"name" : "LastFMKit",
"path" : "Sources/LastFMKit",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"LastFMKit",
"lastfm-cli"
],
"sources" : [
"API/AlbumAPI.swift",
"API/ArtistAPI.swift",
"API/AuthAPI.swift",
"API/BaseAPI.swift",
"API/ChartAPI.swift",
"API/GeoAPI.swift",
"API/LibraryAPI.swift",
"API/TagAPI.swift",
"API/TrackAPI.swift",
"API/UserAPI.swift",
"Core/Endpoint.swift",
"Core/LastFMClient.swift",
"Core/LastFMError.swift",
"Core/NetworkClient.swift",
"Models/Album.swift",
"Models/Artist.swift",
"Models/Auth.swift",
"Models/Chart.swift",
"Models/Common.swift",
"Models/Geo.swift",
"Models/Library.swift",
"Models/Tag.swift",
"Models/Track.swift",
"Models/User.swift"
],
"type" : "library"
},
{
"c99name" : "LastFMCLI",
"module_type" : "SwiftTarget",
"name" : "LastFMCLI",
"path" : "Sources/LastFMCLI",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"lastfm-cli"
],
"sources" : [
"AlbumCommands.swift",
"AuthCommands.swift",
"ChartCommands.swift",
"ConfigCommands.swift",
"ConfigManager.swift",
"GeoCommands.swift",
"LastFMCLI.swift",
"LibraryCommands.swift",
"MyCommands.swift",
"TagCommands.swift",
"TrackCommands.swift",
"UserCommands.swift"
],
"target_dependencies" : [
"LastFMKit"
],
"type" : "executable"
}
],
"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 Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin GenerateDoccReference
Building for debugging...
[4/14] Write sources
[4/14] Write lastfm-cli-entitlement.plist
[8/14] Write sources
[10/14] Write swift-version-2F0A5646E1D333AE.txt
[12/21] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/21] Emitting module ArgumentParserToolInfo
[14/67] Compiling Logging LogHandler.swift
[15/67] Compiling Logging MetadataProvider.swift
[16/67] Emitting module Logging
[17/67] Compiling Logging Locks.swift
[18/67] Compiling Logging Logging.swift
[19/90] Emitting module ArgumentParser
[20/94] Compiling LastFMKit Library.swift
[21/94] Compiling LastFMKit Tag.swift
[22/94] Compiling ArgumentParser SwiftExtensions.swift
[23/94] Compiling ArgumentParser Tree.swift
[24/94] Compiling ArgumentParser CodingKeyValidator.swift
[25/94] Compiling ArgumentParser NonsenseFlagsValidator.swift
[26/94] Compiling ArgumentParser ParsableArgumentsValidation.swift
[27/94] Compiling ArgumentParser PositionalArgumentsValidator.swift
[28/94] Compiling ArgumentParser UniqueNamesValidator.swift
[29/94] Compiling LastFMKit AlbumAPI.swift
[30/94] Compiling LastFMKit ArtistAPI.swift
[31/94] Compiling LastFMKit AuthAPI.swift
[32/94] Compiling LastFMKit Album.swift
[33/94] Compiling LastFMKit Artist.swift
[34/94] Compiling LastFMKit Common.swift
[35/94] Compiling LastFMKit Geo.swift
[36/94] Compiling LastFMKit LibraryAPI.swift
[37/94] Compiling LastFMKit TagAPI.swift
[38/94] Compiling LastFMKit TrackAPI.swift
[39/94] Compiling LastFMKit LastFMError.swift
[40/94] Compiling LastFMKit NetworkClient.swift
[41/94] Compiling LastFMKit BaseAPI.swift
[42/94] Compiling LastFMKit ChartAPI.swift
[43/94] Compiling LastFMKit GeoAPI.swift
[44/94] Compiling LastFMKit Auth.swift
[45/94] Compiling LastFMKit Chart.swift
[46/94] Compiling LastFMKit UserAPI.swift
[47/94] Compiling LastFMKit Endpoint.swift
[48/94] Compiling LastFMKit LastFMClient.swift
[49/94] Compiling ArgumentParser MessageInfo.swift
[50/94] Compiling ArgumentParser UsageGenerator.swift
[51/94] Compiling ArgumentParser CollectionExtensions.swift
[52/94] Compiling ArgumentParser Mutex.swift
[53/94] Compiling ArgumentParser Platform.swift
[54/94] Compiling ArgumentParser ParserError.swift
[55/94] Compiling ArgumentParser SplitArguments.swift
[56/94] Compiling ArgumentParser DumpHelpGenerator.swift
[57/94] Compiling ArgumentParser HelpCommand.swift
[58/94] Compiling ArgumentParser HelpGenerator.swift
[59/94] Compiling ArgumentParser ArgumentDiscussion.swift
[60/94] Compiling ArgumentParser ArgumentHelp.swift
[61/94] Compiling ArgumentParser ArgumentVisibility.swift
[62/94] Compiling ArgumentParser CompletionKind.swift
[63/94] Compiling ArgumentParser Errors.swift
[64/94] Compiling ArgumentParser ParsableCommand.swift
[65/94] Compiling ArgumentParser ArgumentDecoder.swift
[66/94] Compiling ArgumentParser ArgumentDefinition.swift
[67/94] Compiling ArgumentParser ArgumentSet.swift
[68/94] Compiling ArgumentParser CommandParser.swift
[79/96] Emitting module LastFMKit
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
| `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 | /// The base URL for API requests.
207 | /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
:
238 | /// - Timeout: 30 seconds
239 | /// - Retry Policy: Exponential backoff with 3 retries
240 | public static let `default` = ClientConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| | `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public func request(_ endpoint: Endpoint) async throws -> Data {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
47 | guard let url = endpoint.url else {
48 | throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
| `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 | public let timeout: TimeInterval
164 | public let retryPolicy: RetryPolicy
:
169 | }
170 |
171 | public static let `default` = NetworkConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| | `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public func request(_ endpoint: Endpoint) async throws -> Data {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
47 | guard let url = endpoint.url else {
48 | throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
| `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 | public let timeout: TimeInterval
164 | public let retryPolicy: RetryPolicy
:
169 | }
170 |
171 | public static let `default` = NetworkConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| | `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
| `- warning: non-sendable type 'T' cannot be returned from actor-isolated implementation to caller of protocol requirement 'request'; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:31:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
29 | }
30 |
31 | public func request<T: Decodable>(_ endpoint: Endpoint) async throws -> T {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
32 | let data = try await request(endpoint)
33 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:46:17: warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
44 | }
45 |
46 | public func request(_ endpoint: Endpoint) async throws -> Data {
| `- warning: non-sendable parameter type 'Endpoint' cannot be sent from caller of protocol requirement 'request' into actor-isolated implementation; this is an error in the Swift 6 language mode
47 | guard let url = endpoint.url else {
48 | throw LastFMError.invalidURL
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/Endpoint.swift:3:15: note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct Endpoint {
| `- note: consider making struct 'Endpoint' conform to the 'Sendable' protocol
4 | public let path: String
5 | public let method: HTTPMethod
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/NetworkClient.swift:171:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
160 | }
161 |
162 | public struct NetworkConfiguration {
| `- note: consider making struct 'NetworkConfiguration' conform to the 'Sendable' protocol
163 | public let timeout: TimeInterval
164 | public let retryPolicy: RetryPolicy
:
169 | }
170 |
171 | public static let `default` = NetworkConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'NetworkConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | }
173 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
| `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 | /// The base URL for API requests.
207 | /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
:
238 | /// - Timeout: 30 seconds
239 | /// - Retry Policy: Exponential backoff with 3 retries
240 | public static let `default` = ClientConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 | let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 | let networkClient = NetworkClient(configuration: configuration)
| |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 | self.networkClient = networkClient
158 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
| `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 | /// The base URL for API requests.
207 | /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
:
238 | /// - Timeout: 30 seconds
239 | /// - Retry Policy: Exponential backoff with 3 retries
240 | public static let `default` = ClientConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 | let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 | let networkClient = NetworkClient(configuration: configuration)
| |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 | self.networkClient = networkClient
158 |
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:240:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
203 | /// let client = LastFMClient(configuration: configuration)
204 | /// ```
205 | public struct ClientConfiguration {
| `- note: consider making struct 'ClientConfiguration' conform to the 'Sendable' protocol
206 | /// The base URL for API requests.
207 | /// Default: `https://lastfm-proxy-worker.guitaripod.workers.dev`
:
238 | /// - Timeout: 30 seconds
239 | /// - Retry Policy: Exponential backoff with 3 retries
240 | public static let `default` = ClientConfiguration()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ClientConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LastFMKit/Core/LastFMClient.swift:156:29: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 | let configuration = NetworkConfiguration(timeout: timeout, retryPolicy: retryPolicy)
156 | let networkClient = NetworkClient(configuration: configuration)
| |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'configuration' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
157 | self.networkClient = networkClient
158 |
[90/96] Compiling LastFMKit Track.swift
[91/96] Compiling LastFMKit User.swift
[94/108] Compiling LastFMCLI TrackCommands.swift
[95/108] Compiling LastFMCLI GeoCommands.swift
[96/108] Compiling LastFMCLI LastFMCLI.swift
[97/108] Compiling LastFMCLI LibraryCommands.swift
[98/108] Compiling LastFMCLI TagCommands.swift
[99/108] Compiling LastFMCLI ConfigManager.swift
[100/108] Compiling LastFMCLI ChartCommands.swift
[101/108] Compiling LastFMCLI ConfigCommands.swift
[102/108] Compiling LastFMCLI MyCommands.swift
[103/109] Compiling LastFMCLI UserCommands.swift
[104/109] Compiling LastFMCLI AlbumCommands.swift
[105/109] Compiling LastFMCLI AuthCommands.swift
[106/109] Emitting module LastFMCLI
[106/109] Write Objects.LinkFileList
[107/109] Linking lastfm-cli
[108/109] Applying lastfm-cli
Build complete! (28.31s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "LastFMKit",
"name" : "LastFMKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "watchos",
"version" : "9.0"
}
],
"products" : [
{
"name" : "LastFMKit",
"targets" : [
"LastFMKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "lastfm-cli",
"targets" : [
"LastFMCLI"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "LastFMKitTests",
"module_type" : "SwiftTarget",
"name" : "LastFMKitTests",
"path" : "Tests/LastFMKitTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/LastFMKitTests/Resources/README.md",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"BasicTests.swift"
],
"target_dependencies" : [
"LastFMKit"
],
"type" : "test"
},
{
"c99name" : "LastFMKit",
"module_type" : "SwiftTarget",
"name" : "LastFMKit",
"path" : "Sources/LastFMKit",
"product_dependencies" : [
"Logging"
],
"product_memberships" : [
"LastFMKit",
"lastfm-cli"
],
"sources" : [
"API/AlbumAPI.swift",
"API/ArtistAPI.swift",
"API/AuthAPI.swift",
"API/BaseAPI.swift",
"API/ChartAPI.swift",
"API/GeoAPI.swift",
"API/LibraryAPI.swift",
"API/TagAPI.swift",
"API/TrackAPI.swift",
"API/UserAPI.swift",
"Core/Endpoint.swift",
"Core/LastFMClient.swift",
"Core/LastFMError.swift",
"Core/NetworkClient.swift",
"Models/Album.swift",
"Models/Artist.swift",
"Models/Auth.swift",
"Models/Chart.swift",
"Models/Common.swift",
"Models/Geo.swift",
"Models/Library.swift",
"Models/Tag.swift",
"Models/Track.swift",
"Models/User.swift"
],
"type" : "library"
},
{
"c99name" : "LastFMCLI",
"module_type" : "SwiftTarget",
"name" : "LastFMCLI",
"path" : "Sources/LastFMCLI",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"lastfm-cli"
],
"sources" : [
"AlbumCommands.swift",
"AuthCommands.swift",
"ChartCommands.swift",
"ConfigCommands.swift",
"ConfigManager.swift",
"GeoCommands.swift",
"LastFMCLI.swift",
"LibraryCommands.swift",
"MyCommands.swift",
"TagCommands.swift",
"TrackCommands.swift",
"UserCommands.swift"
],
"target_dependencies" : [
"LastFMKit"
],
"type" : "executable"
}
],
"tools_version" : "5.9"
}
Done.