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 Titan, reference master (0e4995), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 03:09:01 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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bermudadigitalstudio/titan.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bermudadigitalstudio/titan
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 0e4995f Merge pull request #97 from bermudadigitalstudio/lint
Cloned https://github.com/bermudadigitalstudio/titan.git
Revision (git rev-parse @):
0e4995ffc271c79ea4421378632d2615b653b2d4
SUCCESS checkout https://github.com/bermudadigitalstudio/titan.git at master
========================================
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": "titan",
      "name": "Titan",
      "url": "https://github.com/bermudadigitalstudio/titan.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/titan",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/bermudadigitalstudio/titan.git
[1/1161] Fetching titan
Fetched https://github.com/bermudadigitalstudio/titan.git from cache (0.84s)
Creating working copy for https://github.com/bermudadigitalstudio/titan.git
Working copy of https://github.com/bermudadigitalstudio/titan.git resolved at master (0e4995f)
warning: '.resolve-product-dependencies': dependency 'titan' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/bermudadigitalstudio/titan.git
https://github.com/bermudadigitalstudio/titan.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Titan",
  "name" : "Titan",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "TitanCore",
      "targets" : [
        "TitanCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Titan",
      "targets" : [
        "Titan"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanRouter",
      "targets" : [
        "TitanRouter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanErrorHandling",
      "targets" : [
        "TitanErrorHandling"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Titan404",
      "targets" : [
        "Titan404"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanCORS",
      "targets" : [
        "TitanCORS"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanFormURLEncodedBodyParser",
      "targets" : [
        "TitanFormURLEncodedBodyParser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanJSON",
      "targets" : [
        "TitanJSON"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanQueryString",
      "targets" : [
        "TitanQueryString"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanHealthz",
      "targets" : [
        "TitanHealthz"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TitanTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanTests",
      "path" : "Tests/TitanTests",
      "sources" : [
        "TitanAPITests.swift"
      ],
      "target_dependencies" : [
        "Titan"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanRouterTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanRouterTests",
      "path" : "Tests/TitanRouterTests",
      "sources" : [
        "TitanRouterTests.swift"
      ],
      "target_dependencies" : [
        "TitanRouter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanRouter",
      "module_type" : "SwiftTarget",
      "name" : "TitanRouter",
      "path" : "Sources/TitanRouter",
      "product_memberships" : [
        "Titan",
        "TitanRouter"
      ],
      "sources" : [
        "InitializerOverloads.swift",
        "PathParameterSupport.swift",
        "TitanParameterizedRoutes.swift",
        "TitanRoutesByMethod.swift",
        "TitanRoutingExtension.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanQueryStringTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanQueryStringTests",
      "path" : "Tests/TitanQueryStringTests",
      "sources" : [
        "TitanQueryStringTests.swift"
      ],
      "target_dependencies" : [
        "TitanQueryString"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanQueryString",
      "module_type" : "SwiftTarget",
      "name" : "TitanQueryString",
      "path" : "Sources/TitanQueryString",
      "product_memberships" : [
        "Titan",
        "TitanQueryString"
      ],
      "sources" : [
        "TitanQueryString.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanJSONTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanJSONTests",
      "path" : "Tests/TitanJSONTests",
      "sources" : [
        "TitanJSONTests.swift"
      ],
      "target_dependencies" : [
        "TitanJSON"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanJSON",
      "module_type" : "SwiftTarget",
      "name" : "TitanJSON",
      "path" : "Sources/TitanJSON",
      "product_memberships" : [
        "Titan",
        "TitanJSON"
      ],
      "sources" : [
        "TitanJSONRequestBody.swift",
        "TitanJSONResponseBody.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanHealthzTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanHealthzTests",
      "path" : "Tests/TitanHealthzTests",
      "sources" : [
        "TitanHealthzTests.swift"
      ],
      "target_dependencies" : [
        "TitanHealthz"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanHealthz",
      "module_type" : "SwiftTarget",
      "name" : "TitanHealthz",
      "path" : "Sources/TitanHealthz",
      "product_memberships" : [
        "TitanHealthz"
      ],
      "sources" : [
        "TitanHealthz.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanFormURLEncodedBodyParserTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanFormURLEncodedBodyParserTests",
      "path" : "Tests/TitanFormURLEncodedBodyParserTests",
      "sources" : [
        "TitanFormURLEncodedBodyParserTests.swift"
      ],
      "target_dependencies" : [
        "TitanFormURLEncodedBodyParser"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanFormURLEncodedBodyParser",
      "module_type" : "SwiftTarget",
      "name" : "TitanFormURLEncodedBodyParser",
      "path" : "Sources/TitanFormURLEncodedBodyParser",
      "product_memberships" : [
        "Titan",
        "TitanFormURLEncodedBodyParser"
      ],
      "sources" : [
        "TitanFormURLEncodedBodyParser.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanErrorHandlingTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanErrorHandlingTests",
      "path" : "Tests/TitanErrorHandlingTests",
      "sources" : [
        "TitanErrorHandlingTests.swift"
      ],
      "target_dependencies" : [
        "TitanErrorHandling"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanErrorHandling",
      "module_type" : "SwiftTarget",
      "name" : "TitanErrorHandling",
      "path" : "Sources/TitanErrorHandling",
      "product_memberships" : [
        "Titan",
        "TitanErrorHandling"
      ],
      "sources" : [
        "TitanErrorHandling.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanCoreTests",
      "path" : "Tests/TitanCoreTests",
      "sources" : [
        "TitanCoreTests.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanCore",
      "module_type" : "SwiftTarget",
      "name" : "TitanCore",
      "path" : "Sources/TitanCore",
      "product_memberships" : [
        "TitanCore",
        "Titan",
        "TitanRouter",
        "TitanErrorHandling",
        "Titan404",
        "TitanCORS",
        "TitanFormURLEncodedBodyParser",
        "TitanJSON",
        "TitanQueryString",
        "TitanHealthz"
      ],
      "sources" : [
        "TitanCore.swift",
        "TitanError.swift",
        "TitanHeader.swift",
        "TitanLogs.swift",
        "TitanMethod.swift",
        "TitanRequest.swift",
        "TitanResponse.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanCORSTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanCORSTests",
      "path" : "Tests/TitanCORSTests",
      "sources" : [
        "CORSTests.swift"
      ],
      "target_dependencies" : [
        "TitanCORS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanCORS",
      "module_type" : "SwiftTarget",
      "name" : "TitanCORS",
      "path" : "Sources/TitanCORS",
      "product_memberships" : [
        "Titan",
        "TitanCORS"
      ],
      "sources" : [
        "TitanCORS.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Titan404Tests",
      "module_type" : "SwiftTarget",
      "name" : "Titan404Tests",
      "path" : "Tests/Titan404Tests",
      "sources" : [
        "Titan404Tests.swift"
      ],
      "target_dependencies" : [
        "Titan404"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Titan404",
      "module_type" : "SwiftTarget",
      "name" : "Titan404",
      "path" : "Sources/Titan404",
      "product_memberships" : [
        "Titan",
        "Titan404"
      ],
      "sources" : [
        "Titan404.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Titan",
      "module_type" : "SwiftTarget",
      "name" : "Titan",
      "path" : "Sources/Titan",
      "product_memberships" : [
        "Titan"
      ],
      "sources" : [
        "Titan.swift"
      ],
      "target_dependencies" : [
        "TitanCore",
        "TitanRouter",
        "TitanErrorHandling",
        "Titan404",
        "TitanCORS",
        "TitanFormURLEncodedBodyParser",
        "TitanJSON",
        "TitanQueryString"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/11] Write sources
[10/11] Write swift-version-2F0A5646E1D333AE.txt
[12/19] Compiling TitanCore TitanResponse.swift
[13/19] Compiling TitanCore TitanRequest.swift
[14/19] Compiling TitanCore TitanHeader.swift
[15/19] Compiling TitanCore TitanLogs.swift
[16/19] Compiling TitanCore TitanMethod.swift
[17/19] Compiling TitanCore TitanError.swift
[18/19] Emitting module TitanCore
[19/19] Compiling TitanCore TitanCore.swift
[20/40] Compiling TitanCORS TitanCORS.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanCORS/TitanCORS.swift:28:12: warning: let 'allowAllOrigins' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// If one isn't present, insert a wildcard CORS allowed origin header
28 | public let allowAllOrigins: TitanFunc = { req, res in
   |            |- warning: let 'allowAllOrigins' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'allowAllOrigins' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |     var allowAllOriginHeaders = HTTPHeaders(dictionaryLiteral: allowAllOriginsHeader)
30 |     // swiftlint:disable shorthand_operator
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanCORS/TitanCORS.swift:37:12: warning: let 'respondToPreflightAllowingAllMethods' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | /// Respond to a CORS preflight request, allowing all methods requested in the preflight.
37 | public let respondToPreflightAllowingAllMethods: TitanFunc = { req, res in
   |            |- warning: let 'respondToPreflightAllowingAllMethods' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'respondToPreflightAllowingAllMethods' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |     guard req.method == .options else {
39 |         return (req, res)
[21/40] Emitting module TitanQueryString
/Users/admin/builder/spi-builder-workspace/Sources/TitanQueryString/TitanQueryString.swift:20:5: warning: 'public' modifier is redundant for property declared in a public extension
18 |     /// The pairs of keys and values in the query string of the `RequestType`s path.
19 |     /// Complexity: 0(n) on all invocations.
20 |     public var queryPairs: [(key: String, value: String)] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
21 |         // Ensure there is a query string, otherwise return
22 |         guard let indexOfQuery = self.path.index(of: "?") else {
/Users/admin/builder/spi-builder-workspace/Sources/TitanQueryString/TitanQueryString.swift:57:5: warning: 'public' modifier is redundant for property declared in a public extension
55 |     /// Access the query string as a dictionary, with case sensitive keys.
56 |     /// Complexity: 0(n) on all invocations.
57 |     public var query: [String: String] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
58 |         var query: [String: String] = [:]
59 |         for (name, value) in self.queryPairs {
[22/40] Compiling TitanQueryString TitanQueryString.swift
/Users/admin/builder/spi-builder-workspace/Sources/TitanQueryString/TitanQueryString.swift:20:5: warning: 'public' modifier is redundant for property declared in a public extension
18 |     /// The pairs of keys and values in the query string of the `RequestType`s path.
19 |     /// Complexity: 0(n) on all invocations.
20 |     public var queryPairs: [(key: String, value: String)] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
21 |         // Ensure there is a query string, otherwise return
22 |         guard let indexOfQuery = self.path.index(of: "?") else {
/Users/admin/builder/spi-builder-workspace/Sources/TitanQueryString/TitanQueryString.swift:57:5: warning: 'public' modifier is redundant for property declared in a public extension
55 |     /// Access the query string as a dictionary, with case sensitive keys.
56 |     /// Complexity: 0(n) on all invocations.
57 |     public var query: [String: String] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
58 |         var query: [String: String] = [:]
59 |         for (name, value) in self.queryPairs {
[23/40] Compiling TitanJSON TitanJSONResponseBody.swift
/Users/admin/builder/spi-builder-workspace/Sources/TitanJSON/TitanJSONResponseBody.swift:19:5: warning: 'public' modifier is redundant for initializer declared in a public extension
17 | public extension Response {
18 |
19 |     public init(code: Int, json: Any) throws {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
20 |         let jsonData = try JSONSerialization.data(withJSONObject: json, options: [])
21 |         self.init(code: code, body: jsonData, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
/Users/admin/builder/spi-builder-workspace/Sources/TitanJSON/TitanJSONResponseBody.swift:24:5: warning: 'public' modifier is redundant for initializer declared in a public extension
22 |     }
23 |
24 |     public init<T: Encodable>(code: Int, object: T, jsonEncoder: JSONEncoder = JSONEncoder()) throws {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
25 |         let data = try jsonEncoder.encode(object)
26 |         self.init(code: code, body: data, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
[24/40] Emitting module TitanJSON
/Users/admin/builder/spi-builder-workspace/Sources/TitanJSON/TitanJSONResponseBody.swift:19:5: warning: 'public' modifier is redundant for initializer declared in a public extension
17 | public extension Response {
18 |
19 |     public init(code: Int, json: Any) throws {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
20 |         let jsonData = try JSONSerialization.data(withJSONObject: json, options: [])
21 |         self.init(code: code, body: jsonData, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
/Users/admin/builder/spi-builder-workspace/Sources/TitanJSON/TitanJSONResponseBody.swift:24:5: warning: 'public' modifier is redundant for initializer declared in a public extension
22 |     }
23 |
24 |     public init<T: Encodable>(code: Int, object: T, jsonEncoder: JSONEncoder = JSONEncoder()) throws {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
25 |         let data = try jsonEncoder.encode(object)
26 |         self.init(code: code, body: data, headers: HTTPHeaders(dictionaryLiteral: ("content-type", "application/json")))
[25/40] Compiling TitanJSON TitanJSONRequestBody.swift
[26/40] Emitting module Titan404
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Titan404/Titan404.swift:25:12: warning: let 'defaultTo404' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
23 |  effectively overwrite it.
24 |  */
25 | public let defaultTo404: TitanFunc = { (request, response) -> (RequestType, ResponseType) in
   |            |- warning: let 'defaultTo404' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'defaultTo404' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |     do {
[27/40] Compiling Titan404 Titan404.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/Titan404/Titan404.swift:25:12: warning: let 'defaultTo404' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
23 |  effectively overwrite it.
24 |  */
25 | public let defaultTo404: TitanFunc = { (request, response) -> (RequestType, ResponseType) in
   |            |- warning: let 'defaultTo404' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'defaultTo404' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |     do {
[28/40] Emitting module TitanErrorHandling
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanErrorHandling/TitanErrorHandling.swift:17:12: warning: let 'defaultErrorHandler' is not concurrency-safe because non-'Sendable' type '(any Error) -> any ResponseType' may have shared mutable state; this is an error in the Swift 6 language mode
15 | import TitanCore
16 |
17 | public let defaultErrorHandler: (Error) -> (ResponseType) = { err in
   |            |- warning: let 'defaultErrorHandler' is not concurrency-safe because non-'Sendable' type '(any Error) -> any ResponseType' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'defaultErrorHandler' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     do {
19 |         return try Response(code: 500, body: String(describing: err), headers: HTTPHeaders())
[29/40] Compiling TitanErrorHandling TitanErrorHandling.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanErrorHandling/TitanErrorHandling.swift:17:12: warning: let 'defaultErrorHandler' is not concurrency-safe because non-'Sendable' type '(any Error) -> any ResponseType' may have shared mutable state; this is an error in the Swift 6 language mode
15 | import TitanCore
16 |
17 | public let defaultErrorHandler: (Error) -> (ResponseType) = { err in
   |            |- warning: let 'defaultErrorHandler' is not concurrency-safe because non-'Sendable' type '(any Error) -> any ResponseType' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'defaultErrorHandler' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |     do {
19 |         return try Response(code: 500, body: String(describing: err), headers: HTTPHeaders())
[30/40] Emitting module TitanCORS
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanCORS/TitanCORS.swift:28:12: warning: let 'allowAllOrigins' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// If one isn't present, insert a wildcard CORS allowed origin header
28 | public let allowAllOrigins: TitanFunc = { req, res in
   |            |- warning: let 'allowAllOrigins' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'allowAllOrigins' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |     var allowAllOriginHeaders = HTTPHeaders(dictionaryLiteral: allowAllOriginsHeader)
30 |     // swiftlint:disable shorthand_operator
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanCORS/TitanCORS.swift:37:12: warning: let 'respondToPreflightAllowingAllMethods' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | /// Respond to a CORS preflight request, allowing all methods requested in the preflight.
37 | public let respondToPreflightAllowingAllMethods: TitanFunc = { req, res in
   |            |- warning: let 'respondToPreflightAllowingAllMethods' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'respondToPreflightAllowingAllMethods' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |     guard req.method == .options else {
39 |         return (req, res)
[31/40] Emitting module TitanFormURLEncodedBodyParser
/Users/admin/builder/spi-builder-workspace/Sources/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:19:5: warning: 'public' modifier is redundant for property declared in a public extension
17 | public extension RequestType {
18 |
19 |     public var formURLEncodedBody: [(name: String, value: String)] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
20 |         guard let bodyString: String = self.body else {
21 |             return []
/Users/admin/builder/spi-builder-workspace/Sources/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:27:5: warning: 'public' modifier is redundant for property declared in a public extension
25 |     }
26 |
27 |     public var postParams: [String: String] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
28 |         var ret = [String: String]()
29 |         guard let bodyString: String = self.body else {
[32/40] Compiling TitanFormURLEncodedBodyParser TitanFormURLEncodedBodyParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:19:5: warning: 'public' modifier is redundant for property declared in a public extension
17 | public extension RequestType {
18 |
19 |     public var formURLEncodedBody: [(name: String, value: String)] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
20 |         guard let bodyString: String = self.body else {
21 |             return []
/Users/admin/builder/spi-builder-workspace/Sources/TitanFormURLEncodedBodyParser/TitanFormURLEncodedBodyParser.swift:27:5: warning: 'public' modifier is redundant for property declared in a public extension
25 |     }
26 |
27 |     public var postParams: [String: String] {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
28 |         var ret = [String: String]()
29 |         guard let bodyString: String = self.body else {
[33/40] Emitting module TitanHealthz
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanHealthz/TitanHealthz.swift:18:12: warning: let 'healthz' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// A basic healthcheck route that returns 200 and diagnostic info
18 | public let healthz: TitanFunc = healthzWithCheck(check: { return nil })
   |            |- warning: let 'healthz' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'healthz' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | // Workaround for https://bugs.swift.org/browse/SR-6391
[34/40] Compiling TitanHealthz TitanHealthz.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/TitanHealthz/TitanHealthz.swift:18:12: warning: let 'healthz' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | /// A basic healthcheck route that returns 200 and diagnostic info
18 | public let healthz: TitanFunc = healthzWithCheck(check: { return nil })
   |            |- warning: let 'healthz' is not concurrency-safe because non-'Sendable' type 'TitanFunc' (aka '(any RequestType, any ResponseType) -> (request: any RequestType, response: any ResponseType)') may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: add '@MainActor' to make let 'healthz' part of global actor 'MainActor'
   |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | // Workaround for https://bugs.swift.org/browse/SR-6391
[35/40] Compiling TitanRouter TitanParameterizedRoutes.swift
[36/40] Compiling TitanRouter TitanRoutesByMethod.swift
[37/40] Compiling TitanRouter PathParameterSupport.swift
[38/40] Compiling TitanRouter InitializerOverloads.swift
[39/40] Emitting module TitanRouter
[40/40] Compiling TitanRouter TitanRoutingExtension.swift
[41/42] Compiling Titan Titan.swift
[42/42] Emitting module Titan
Build complete! (7.17s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Titan",
  "name" : "Titan",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "TitanCore",
      "targets" : [
        "TitanCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Titan",
      "targets" : [
        "Titan"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanRouter",
      "targets" : [
        "TitanRouter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanErrorHandling",
      "targets" : [
        "TitanErrorHandling"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Titan404",
      "targets" : [
        "Titan404"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanCORS",
      "targets" : [
        "TitanCORS"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanFormURLEncodedBodyParser",
      "targets" : [
        "TitanFormURLEncodedBodyParser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanJSON",
      "targets" : [
        "TitanJSON"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanQueryString",
      "targets" : [
        "TitanQueryString"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TitanHealthz",
      "targets" : [
        "TitanHealthz"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TitanTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanTests",
      "path" : "Tests/TitanTests",
      "sources" : [
        "TitanAPITests.swift"
      ],
      "target_dependencies" : [
        "Titan"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanRouterTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanRouterTests",
      "path" : "Tests/TitanRouterTests",
      "sources" : [
        "TitanRouterTests.swift"
      ],
      "target_dependencies" : [
        "TitanRouter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanRouter",
      "module_type" : "SwiftTarget",
      "name" : "TitanRouter",
      "path" : "Sources/TitanRouter",
      "product_memberships" : [
        "Titan",
        "TitanRouter"
      ],
      "sources" : [
        "InitializerOverloads.swift",
        "PathParameterSupport.swift",
        "TitanParameterizedRoutes.swift",
        "TitanRoutesByMethod.swift",
        "TitanRoutingExtension.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanQueryStringTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanQueryStringTests",
      "path" : "Tests/TitanQueryStringTests",
      "sources" : [
        "TitanQueryStringTests.swift"
      ],
      "target_dependencies" : [
        "TitanQueryString"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanQueryString",
      "module_type" : "SwiftTarget",
      "name" : "TitanQueryString",
      "path" : "Sources/TitanQueryString",
      "product_memberships" : [
        "Titan",
        "TitanQueryString"
      ],
      "sources" : [
        "TitanQueryString.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanJSONTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanJSONTests",
      "path" : "Tests/TitanJSONTests",
      "sources" : [
        "TitanJSONTests.swift"
      ],
      "target_dependencies" : [
        "TitanJSON"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanJSON",
      "module_type" : "SwiftTarget",
      "name" : "TitanJSON",
      "path" : "Sources/TitanJSON",
      "product_memberships" : [
        "Titan",
        "TitanJSON"
      ],
      "sources" : [
        "TitanJSONRequestBody.swift",
        "TitanJSONResponseBody.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanHealthzTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanHealthzTests",
      "path" : "Tests/TitanHealthzTests",
      "sources" : [
        "TitanHealthzTests.swift"
      ],
      "target_dependencies" : [
        "TitanHealthz"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanHealthz",
      "module_type" : "SwiftTarget",
      "name" : "TitanHealthz",
      "path" : "Sources/TitanHealthz",
      "product_memberships" : [
        "TitanHealthz"
      ],
      "sources" : [
        "TitanHealthz.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanFormURLEncodedBodyParserTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanFormURLEncodedBodyParserTests",
      "path" : "Tests/TitanFormURLEncodedBodyParserTests",
      "sources" : [
        "TitanFormURLEncodedBodyParserTests.swift"
      ],
      "target_dependencies" : [
        "TitanFormURLEncodedBodyParser"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanFormURLEncodedBodyParser",
      "module_type" : "SwiftTarget",
      "name" : "TitanFormURLEncodedBodyParser",
      "path" : "Sources/TitanFormURLEncodedBodyParser",
      "product_memberships" : [
        "Titan",
        "TitanFormURLEncodedBodyParser"
      ],
      "sources" : [
        "TitanFormURLEncodedBodyParser.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanErrorHandlingTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanErrorHandlingTests",
      "path" : "Tests/TitanErrorHandlingTests",
      "sources" : [
        "TitanErrorHandlingTests.swift"
      ],
      "target_dependencies" : [
        "TitanErrorHandling"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanErrorHandling",
      "module_type" : "SwiftTarget",
      "name" : "TitanErrorHandling",
      "path" : "Sources/TitanErrorHandling",
      "product_memberships" : [
        "Titan",
        "TitanErrorHandling"
      ],
      "sources" : [
        "TitanErrorHandling.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanCoreTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanCoreTests",
      "path" : "Tests/TitanCoreTests",
      "sources" : [
        "TitanCoreTests.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanCore",
      "module_type" : "SwiftTarget",
      "name" : "TitanCore",
      "path" : "Sources/TitanCore",
      "product_memberships" : [
        "TitanCore",
        "Titan",
        "TitanRouter",
        "TitanErrorHandling",
        "Titan404",
        "TitanCORS",
        "TitanFormURLEncodedBodyParser",
        "TitanJSON",
        "TitanQueryString",
        "TitanHealthz"
      ],
      "sources" : [
        "TitanCore.swift",
        "TitanError.swift",
        "TitanHeader.swift",
        "TitanLogs.swift",
        "TitanMethod.swift",
        "TitanRequest.swift",
        "TitanResponse.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TitanCORSTests",
      "module_type" : "SwiftTarget",
      "name" : "TitanCORSTests",
      "path" : "Tests/TitanCORSTests",
      "sources" : [
        "CORSTests.swift"
      ],
      "target_dependencies" : [
        "TitanCORS"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TitanCORS",
      "module_type" : "SwiftTarget",
      "name" : "TitanCORS",
      "path" : "Sources/TitanCORS",
      "product_memberships" : [
        "Titan",
        "TitanCORS"
      ],
      "sources" : [
        "TitanCORS.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Titan404Tests",
      "module_type" : "SwiftTarget",
      "name" : "Titan404Tests",
      "path" : "Tests/Titan404Tests",
      "sources" : [
        "Titan404Tests.swift"
      ],
      "target_dependencies" : [
        "Titan404"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Titan404",
      "module_type" : "SwiftTarget",
      "name" : "Titan404",
      "path" : "Sources/Titan404",
      "product_memberships" : [
        "Titan",
        "Titan404"
      ],
      "sources" : [
        "Titan404.swift"
      ],
      "target_dependencies" : [
        "TitanCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Titan",
      "module_type" : "SwiftTarget",
      "name" : "Titan",
      "path" : "Sources/Titan",
      "product_memberships" : [
        "Titan"
      ],
      "sources" : [
        "Titan.swift"
      ],
      "target_dependencies" : [
        "TitanCore",
        "TitanRouter",
        "TitanErrorHandling",
        "Titan404",
        "TitanCORS",
        "TitanFormURLEncodedBodyParser",
        "TitanJSON",
        "TitanQueryString"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.