The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of LastFMKit, reference 1.0.0 (a78b06), with Swift 6.1 for Linux on 13 Jul 2025 11:25:13 UTC.

Swift 6 data race errors: 5

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/guitaripod/LastFMKit.git
Reference: 1.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/guitaripod/LastFMKit
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at a78b061 Enhance DocC documentation for core components
Cloned https://github.com/guitaripod/LastFMKit.git
Revision (git rev-parse @):
a78b061a20c04db0f17307c956f4a749ce7717ce
SUCCESS checkout https://github.com/guitaripod/LastFMKit.git at 1.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/guitaripod/LastFMKit.git
https://github.com/guitaripod/LastFMKit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "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" : "/host/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" : "/host/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 ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/apple/swift-log
Fetching https://github.com/apple/swift-docc-plugin
[1/3854] Fetching swift-log
[233/5948] Fetching swift-log, swift-docc-plugin
[2990/21472] Fetching swift-log, swift-docc-plugin, swift-argument-parser
Fetched https://github.com/apple/swift-log from cache (0.97s)
[10012/17618] Fetching swift-docc-plugin, swift-argument-parser
Fetched https://github.com/apple/swift-docc-plugin from cache (0.97s)
[8383/15524] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.71s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (5.92s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3425] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.68s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.63s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.82s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.97s)
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/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/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
[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/17] Write sources
[9/17] Write swift-version-24593BA9C3E375BF.txt
[11/24] Emitting module ArgumentParserToolInfo
[12/24] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/25] Wrapping AST for ArgumentParserToolInfo for debugging
[15/69] Compiling Logging Logging.swift
[16/69] Compiling Logging MetadataProvider.swift
[17/69] Compiling Logging LogHandler.swift
[18/69] Emitting module Logging
[19/69] Compiling Logging Locks.swift
[20/70] Wrapping AST for Logging for debugging
[22/92] Compiling LastFMKit Endpoint.swift
[23/92] Compiling LastFMKit LastFMClient.swift
[24/92] Compiling ArgumentParser Name.swift
[25/92] Compiling ArgumentParser Parsed.swift
[26/92] Compiling ArgumentParser ParsedValues.swift
[27/92] Compiling ArgumentParser ParserError.swift
[28/98] Emitting module ArgumentParser
[29/98] Compiling LastFMKit Common.swift
[30/98] Compiling LastFMKit Geo.swift
[31/98] Compiling LastFMKit Library.swift
[32/98] Compiling LastFMKit BaseAPI.swift
[33/98] Compiling LastFMKit ChartAPI.swift
[34/98] Compiling LastFMKit GeoAPI.swift
[35/98] Emitting module LastFMKit
/host/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 | }
/host/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 |
/host/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 |
/host/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
/host/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
/host/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
/host/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 |
[36/98] Compiling ArgumentParser CollectionExtensions.swift
[37/98] Compiling ArgumentParser Mutex.swift
[38/98] Compiling ArgumentParser Platform.swift
[39/98] Compiling ArgumentParser SequenceExtensions.swift
[40/98] Compiling ArgumentParser StringExtensions.swift
[41/98] Compiling ArgumentParser SwiftExtensions.swift
[42/101] Compiling ArgumentParser Tree.swift
[43/101] Compiling ArgumentParser CodingKeyValidator.swift
[44/101] Compiling ArgumentParser NonsenseFlagsValidator.swift
[45/101] Compiling ArgumentParser ParsableArgumentsValidation.swift
[46/101] Compiling ArgumentParser PositionalArgumentsValidator.swift
[47/101] Compiling ArgumentParser UniqueNamesValidator.swift
[48/101] Compiling LastFMKit AlbumAPI.swift
[49/101] Compiling LastFMKit ArtistAPI.swift
[50/101] Compiling LastFMKit AuthAPI.swift
[54/101] Compiling ArgumentParser SplitArguments.swift
[55/101] Compiling ArgumentParser DumpHelpGenerator.swift
[56/101] Compiling ArgumentParser HelpCommand.swift
[57/101] Compiling ArgumentParser HelpGenerator.swift
[58/101] Compiling ArgumentParser MessageInfo.swift
[59/101] Compiling ArgumentParser UsageGenerator.swift
[60/101] Compiling LastFMKit LibraryAPI.swift
[61/101] Compiling LastFMKit TagAPI.swift
[62/101] Compiling LastFMKit TrackAPI.swift
[63/101] Compiling LastFMKit LastFMError.swift
[64/101] Compiling LastFMKit NetworkClient.swift
[65/101] Compiling LastFMKit Album.swift
[66/101] Compiling LastFMKit Artist.swift
[67/101] Compiling LastFMKit Auth.swift
[68/101] Compiling LastFMKit Chart.swift
[72/101] Compiling LastFMKit UserAPI.swift
[73/101] Compiling ArgumentParser ParsableArguments.swift
[74/101] Compiling ArgumentParser ParsableCommand.swift
[75/101] Compiling ArgumentParser ArgumentDecoder.swift
[76/101] Compiling ArgumentParser ArgumentDefinition.swift
[77/101] Compiling ArgumentParser ArgumentSet.swift
[78/101] Compiling ArgumentParser CommandParser.swift
[79/102] Wrapping AST for ArgumentParser for debugging
/host/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 | }
/host/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 |
/host/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 | }
/host/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 |
/host/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 | }
/host/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 |
/host/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 |
/host/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 |
/host/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
/host/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
/host/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
/host/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 |
/host/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 |
/host/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 |
/host/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
/host/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
/host/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
/host/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 |
/host/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 |
/host/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 |
/host/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
/host/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
/host/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
/host/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 |
[96/102] Compiling LastFMKit Tag.swift
[97/102] Compiling LastFMKit Track.swift
[98/102] Compiling LastFMKit User.swift
[99/103] Wrapping AST for LastFMKit for debugging
[101/115] Compiling LastFMCLI ConfigManager.swift
[102/115] Compiling LastFMCLI GeoCommands.swift
[103/116] Compiling LastFMCLI TrackCommands.swift
[104/116] Compiling LastFMCLI TagCommands.swift
[105/116] Compiling LastFMCLI ChartCommands.swift
[106/116] Compiling LastFMCLI ConfigCommands.swift
[107/116] Compiling LastFMCLI MyCommands.swift
[108/116] Compiling LastFMCLI AlbumCommands.swift
[109/116] Compiling LastFMCLI AuthCommands.swift
[110/116] Emitting module LastFMCLI
[111/116] Compiling LastFMCLI LastFMCLI.swift
[112/116] Compiling LastFMCLI LibraryCommands.swift
[113/116] Compiling LastFMCLI UserCommands.swift
[114/117] Wrapping AST for LastFMCLI for debugging
[115/117] Write Objects.LinkFileList
[116/117] Linking lastfm-cli
Build complete! (74.07s)
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" : "/host/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" : "/host/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"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.