Build Information
Successful build of FluentExtensions, reference 1.3.42 (e7e995), with Swift 6.1 for macOS (SPM) on 27 Sep 2025 00:15:36 UTC.
Swift 6 data race errors: 29
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 InferSendableFromCapturesBuild Log
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2408/2426] Compiling FluentExtensions APIModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2409/2426] Compiling FluentExtensions Controller+Config.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2410/2426] Compiling FluentExtensions Controller.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2411/2426] Compiling FluentExtensions FluentAdminController.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2412/2426] Compiling FluentExtensions FluentController.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2413/2426] Compiling FluentExtensions Exports.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2414/2426] Compiling FluentExtensions LogMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2415/2426] Compiling FluentExtensions Model+AsyncCRUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2416/2426] Compiling FluentExtensions Model+ExtendedActions.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2417/2426] Compiling FluentExtensions ModelCollection+CRUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2418/2426] Compiling FluentExtensions ModelCollection+ExtendedActions.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:139:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | case save
138 | /// Default strategy for PUT requests.
139 | public static var `default` = PUTRouteAction.save
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
140 | }
141 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:149:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 | case upsert
148 | /// Default save strategy.
149 | public static var `default` = SaveMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
150 | }
151 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller+Config.swift:161:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
159 | case update
160 | /// Default update strategy.
161 | public static var `default` = UpdateMethod.upsert
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
162 | }
163 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:91:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
89 | else {
90 | routes.put("update", use: update)
91 | routes.put(["update", ":id"], use: update)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:100:54: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
98 | }
99 | else {
100 | routes.put(["update", "batch"], use: updateBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
101 | }
102 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:111:50: warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
109 | else {
110 | routes.put("save", use: save)
111 | routes.put(["save", ":id"], use: save)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> Read' may introduce data races
112 | }
113 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/Controller.swift:120:52: warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
118 | }
119 | else {
120 | routes.put(["save", "batch"], use: saveBatch)
| `- warning: converting non-sendable function value to '@Sendable (Request) async throws -> [Read]' may introduce data races
121 | }
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:89:30: warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
87 | let searchPath = path + ["search"]
88 | routes.get(searchPath.pathComponents) { request in
89 | return try await childController.search(on: request)
| `- warning: capture of 'childController' with non-sendable type 'FluentController<C, CC, CR, CU>' in a '@Sendable' closure
90 | }
91 |
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentAdminController.swift:231:34: warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 | try await siblingRelationship.replace(with: siblingEntities, on: database)
230 | let query = siblingRelationship.query(on: request.db)
231 | return try await siblingController.executeRead(query: query, on: request)
| `- warning: capture of 'siblingController' with non-sendable type 'FluentController<S, SC, SR, SU>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
232 | }
233 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/APIController/FluentController.swift:22:12: note: generic class 'FluentController' does not conform to the 'Sendable' protocol
20 | public typealias FluentResourceModel = Fluent.Model & ResourceModel & Paginatable
21 |
22 | open class FluentController<Model: FluentResourceModel,
| `- note: generic class 'FluentController' does not conform to the 'Sendable' protocol
23 | Create: CreateModel,
24 | Read: ReadModel,
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:45:23: warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
43 | public class LogMiddleware: AsyncMiddleware {
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
| |- warning: static property 'detailLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
46 |
47 | /// Specific elements to include when using detailed logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:48:23: warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 |
47 | /// Specific elements to include when using detailed logging
48 | public static var detailElements = Set(NetworkLoggerDetailElement.allCases)
| |- warning: static property 'detailElements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'detailElements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'detailElements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | /// HTTP methods to exclude from logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:51:23: warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | /// HTTP methods to exclude from logging
51 | public static var omittedMethods: [HTTPMethod]?
| |- warning: static property 'omittedMethods' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'omittedMethods' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'omittedMethods' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 |
53 | /// Whether to URL decode paths before logging
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:54:23: warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 |
53 | /// Whether to URL decode paths before logging
54 | public static var decodeURLPaths: Bool = true
| |- warning: static property 'decodeURLPaths' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decodeURLPaths' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decodeURLPaths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
56 | /// A closure type that determines whether a request should be logged
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:43:14: warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
41 | /// }
42 | /// ```
43 | public class LogMiddleware: AsyncMiddleware {
| `- warning: non-final class 'LogMiddleware' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
44 | /// The level of detail to include in logs
45 | static public var detailLevel: NetworkLoggerDetailLevel = .detailed
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Middleware/LogMiddleware.swift:60:17: warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
58 |
59 | /// Collection of filters that determine which requests get logged
60 | private var requestFilters: [RequestFilter] = []
| `- warning: stored property 'requestFilters' of 'Sendable'-conforming class 'LogMiddleware' is mutable; this is an error in the Swift 6 language mode
61 |
62 | /// Creates a new LogMiddleware instance
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:127:39: warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | func restore(on database: Database, transaction: Bool) async throws -> Self {
126 | if transaction {
127 | return try await database.transaction { transaction in
| `- warning: type 'Self' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | try await restore(on: transaction)
129 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluentExtensions/Model++/CRUD/ModelCollection+ExtendedActions.swift:128:27: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
126 | if transaction {
127 | return try await database.transaction { transaction in
128 | try await restore(on: transaction)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 | }
130 | } else {
[2419/2426] Compiling XCTVapor XCTApplicationTester.swift
[2420/2426] Compiling XCTVapor XCTVaporTests.swift
[2421/2426] Emitting module XCTVapor
[2422/2426] Compiling XCTVapor typealiases.swift
[2423/2426] Compiling XCTVapor XCTVaporContext.swift
[2424/2426] Compiling XCTVapor +XCTHTTPResponse.swift
[2425/2426] Compiling XCTVapor +Application.swift
[2426/2426] Compiling XCTVapor Exports.swift
[2427/2431] Compiling XCTVaporExtensions XCTApplicationTester+RequestSugar.swift
[2428/2431] Compiling XCTVaporExtensions ResponseExtensions.swift
[2429/2431] Compiling XCTVaporExtensions Exports.swift
[2430/2431] Compiling XCTVaporExtensions VaporTestCase.swift
[2431/2431] Emitting module XCTVaporExtensions
[2432/2436] Compiling FluentTestUtils FluentTestCase.swift
[2433/2436] Compiling FluentTestUtils FluentXCTAssertions.swift
[2434/2436] Emitting module FluentTestUtils
[2435/2436] Compiling FluentTestUtils Exports.swift
[2436/2436] Compiling FluentTestUtils XCTApplicationTester+Response.swift
[2437/2446] Compiling FluentTestModels TestStudentModel.swift
[2438/2446] Compiling FluentTestModels TestClassModel.swift
[2439/2446] Compiling FluentTestModels TestEnrollmentModel.swift
[2440/2447] Compiling FluentTestModels TestUserModel.swift
[2441/2447] Compiling FluentTestModels TestParentModel.swift
[2442/2447] Compiling FluentTestModels TestModel.swift
[2443/2447] Compiling FluentTestModels TestFriendshipModel.swift
[2444/2447] Compiling FluentTestModels TestChildModel.swift
[2445/2447] Emitting module FluentTestModels
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:104:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
102 | //MARK: Enum Fields
103 |
104 | @Enum(key: .stringEnum)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 | public var stringEnum: TestStringEnum
106 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:107:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 | public var stringEnum: TestStringEnum
106 |
107 | @OptionalEnum(key: .optionalStringEnum)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | public var optionalStringEnum: TestStringEnum?
109 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:110:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | public var optionalStringEnum: TestStringEnum?
109 |
110 | @Field(key: .rawStringEnum)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | public var rawStringEnum: TestRawStringEnum
112 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:113:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | public var rawStringEnum: TestRawStringEnum
112 |
113 | @OptionalField(key: .optionalRawStringEnum)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | public var optionalRawStringEnum: TestRawStringEnum?
115 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:116:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | public var optionalRawStringEnum: TestRawStringEnum?
115 |
116 | @Field(key: .rawIntEnum)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
117 | public var rawIntEnum: TestRawIntEnum
118 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:119:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
117 | public var rawIntEnum: TestRawIntEnum
118 |
119 | @OptionalField(key: .optionalRawIntEnum)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
120 | public var optionalRawIntEnum: TestRawIntEnum?
121 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:124:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 | //MARK: Enum Collection Fields
123 |
124 | @Field(key: .stringEnumArray)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | public var stringEnumArray: [TestStringEnum]
126 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:127:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | public var stringEnumArray: [TestStringEnum]
126 |
127 | @Field(key: .rawStringEnumArray)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | public var rawStringEnumArray: [TestRawStringEnum]
129 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:130:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | public var rawStringEnumArray: [TestRawStringEnum]
129 |
130 | @Field(key: .rawIntEnumArray)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | public var rawIntEnumArray: [TestRawIntEnum]
132 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:141:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
139 | public var intDictionary: [String: Int]
140 |
141 | @Field(key: .enumDictionary)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | public var enumDictionary: [String: TestStringEnum]
143 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
[2446/2447] Compiling FluentTestModels FluentTestModelsTestCase.swift
[2447/2447] Compiling FluentTestModels KitchenSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:104:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
102 | //MARK: Enum Fields
103 |
104 | @Enum(key: .stringEnum)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 | public var stringEnum: TestStringEnum
106 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:107:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
105 | public var stringEnum: TestStringEnum
106 |
107 | @OptionalEnum(key: .optionalStringEnum)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | public var optionalStringEnum: TestStringEnum?
109 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:110:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | public var optionalStringEnum: TestStringEnum?
109 |
110 | @Field(key: .rawStringEnum)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | public var rawStringEnum: TestRawStringEnum
112 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:113:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | public var rawStringEnum: TestRawStringEnum
112 |
113 | @OptionalField(key: .optionalRawStringEnum)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | public var optionalRawStringEnum: TestRawStringEnum?
115 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:116:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | public var optionalRawStringEnum: TestRawStringEnum?
115 |
116 | @Field(key: .rawIntEnum)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
117 | public var rawIntEnum: TestRawIntEnum
118 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:119:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
117 | public var rawIntEnum: TestRawIntEnum
118 |
119 | @OptionalField(key: .optionalRawIntEnum)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
120 | public var optionalRawIntEnum: TestRawIntEnum?
121 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:124:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 | //MARK: Enum Collection Fields
123 |
124 | @Field(key: .stringEnumArray)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | public var stringEnumArray: [TestStringEnum]
126 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:127:6: warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | public var stringEnumArray: [TestStringEnum]
126 |
127 | @Field(key: .rawStringEnumArray)
| `- warning: type 'TestRawStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | public var rawStringEnumArray: [TestRawStringEnum]
129 |
:
239 | }
240 |
241 | public enum TestRawStringEnum: String, Codable, CaseIterable {
| `- note: consider making enum 'TestRawStringEnum' conform to the 'Sendable' protocol
242 | case case1
243 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:130:6: warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
128 | public var rawStringEnumArray: [TestRawStringEnum]
129 |
130 | @Field(key: .rawIntEnumArray)
| `- warning: type 'TestRawIntEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
131 | public var rawIntEnumArray: [TestRawIntEnum]
132 |
:
245 | }
246 |
247 | public enum TestRawIntEnum: Int, Codable, CaseIterable {
| `- note: consider making enum 'TestRawIntEnum' conform to the 'Sendable' protocol
248 | case case1
249 | case case2
/Users/admin/builder/spi-builder-workspace/Sources/FluentTestModels/TestModels/KitchenSink.swift:141:6: warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
139 | public var intDictionary: [String: Int]
140 |
141 | @Field(key: .enumDictionary)
| `- warning: type 'TestStringEnum' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | public var enumDictionary: [String: TestStringEnum]
143 |
:
233 | }
234 |
235 | public enum TestStringEnum: String, Codable, RawRepresentable, CaseIterable {
| `- note: consider making enum 'TestStringEnum' conform to the 'Sendable' protocol
236 | case case1
237 | case case2
Build complete! (67.33s)
warning: 'swift-algorithms': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-algorithms/Sources/Algorithms/Documentation.docc
Build complete.
{
"dependencies" : [
{
"identity" : "vapor",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/vapor.git"
},
{
"identity" : "fluent",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/fluent.git"
},
{
"identity" : "fluent-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/fluent-kit.git"
},
{
"identity" : "sql-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/sql-kit.git"
},
{
"identity" : "fluent-sqlite-driver",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/fluent-sqlite-driver.git"
},
{
"identity" : "swiftest",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appsaurus/Swiftest.git"
},
{
"identity" : "vaporextensions",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appsaurus/VaporExtensions.git"
},
{
"identity" : "codableextensions",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appsaurus/CodableExtensions"
},
{
"identity" : "runtimeextensions",
"requirement" : {
"exact" : [
"1.0.2"
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appsaurus/RuntimeExtensions"
},
{
"identity" : "collectionconcurrencykit",
"requirement" : {
"exact" : [
"0.2.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/JohnSundell/CollectionConcurrencyKit"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "FluentExtensions",
"name" : "FluentExtensions",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "FluentExtensions",
"targets" : [
"FluentExtensions"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FluentTestUtils",
"targets" : [
"FluentTestUtils"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FluentTestModels",
"targets" : [
"FluentTestModels"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FluentTestUtils",
"module_type" : "SwiftTarget",
"name" : "FluentTestUtils",
"path" : "Sources/FluentTestUtils",
"product_dependencies" : [
"Fluent",
"CodableExtensions",
"RuntimeExtensions",
"VaporExtensions",
"XCTVaporExtensions"
],
"product_memberships" : [
"FluentTestUtils",
"FluentTestModels"
],
"sources" : [
"Exports.swift",
"FluentTestCase.swift",
"FluentXCTAssertions.swift",
"XCTApplicationTester+Response.swift"
],
"target_dependencies" : [
"FluentExtensions"
],
"type" : "library"
},
{
"c99name" : "FluentTestModels",
"module_type" : "SwiftTarget",
"name" : "FluentTestModels",
"path" : "Sources/FluentTestModels",
"product_memberships" : [
"FluentTestModels"
],
"sources" : [
"FluentTestModelsTestCase.swift",
"TestModels/KitchenSink.swift",
"TestModels/ParentChildRelationship/TestChildModel.swift",
"TestModels/ParentChildRelationship/TestParentModel.swift",
"TestModels/SelfSiblingsRelationship/TestFriendshipModel.swift",
"TestModels/SelfSiblingsRelationship/TestUserModel.swift",
"TestModels/SiblingRelationship/TestClassModel.swift",
"TestModels/SiblingRelationship/TestEnrollmentModel.swift",
"TestModels/SiblingRelationship/TestStudentModel.swift",
"TestModels/TestModel.swift"
],
"target_dependencies" : [
"FluentTestUtils",
"FluentExtensions"
],
"type" : "library"
},
{
"c99name" : "FluentExtensionsTests",
"module_type" : "SwiftTarget",
"name" : "FluentExtensionsTests",
"path" : "Tests/FluentExtensionsTests",
"product_dependencies" : [
"FluentSQLiteDriver"
],
"sources" : [
"ControllerTests/FluentAdminControllerAccessControlTests.swift",
"ControllerTests/FluentAdminControllerCRUDTests.swift",
"ControllerTests/FluentAdminControllerChildrenTests.swift",
"ControllerTests/FluentAdminControllerPivotTests.swift",
"ControllerTests/FluentAdminControllerSearchTests.swift",
"ControllerTests/FluentAdminControllerSiblingsTests.swift",
"ControllerTests/FluentAdminControllerTests.swift",
"FlatQueryParameterFilterTests.swift",
"FluentExtensionsTests.swift",
"FluentTestModelsTests.swift",
"QueryParameterFilterPostgreSQLTests.swift",
"QueryParameterFilterTests.swift",
"QueryParameterNestedFilterTests.swift",
"QueryParameterNestedSiblingFilterTests.swift",
"QueryParameterTestSeeder.swift",
"ReflectableMigrationTests.swift",
"RoutesBuilderTests.swift",
"SQLKitExtensionTests.swift",
"TestCase+QueryParameterFilterTestUtils.swift"
],
"target_dependencies" : [
"FluentTestModels"
],
"type" : "test"
},
{
"c99name" : "FluentExtensions",
"module_type" : "SwiftTarget",
"name" : "FluentExtensions",
"path" : "Sources/FluentExtensions",
"product_dependencies" : [
"Vapor",
"Fluent",
"FluentSQL",
"SQLKit",
"Swiftest",
"VaporExtensions",
"CodableExtensions",
"RuntimeExtensions",
"CollectionConcurrencyKit"
],
"product_memberships" : [
"FluentExtensions",
"FluentTestUtils",
"FluentTestModels"
],
"sources" : [
"APIController/APIController.swift",
"APIController/APIModel.swift",
"APIController/Controller+Config.swift",
"APIController/Controller.swift",
"APIController/FluentAdminController.swift",
"APIController/FluentController.swift",
"Exports.swift",
"Middleware/LogMiddleware.swift",
"Model++/CRUD/Model+AsyncCRUD.swift",
"Model++/CRUD/Model+ExtendedActions.swift",
"Model++/CRUD/ModelCollection+CRUD.swift",
"Model++/CRUD/ModelCollection+ExtendedActions.swift",
"Model++/CRUD/ModelCollections+Transactions.swift",
"Model++/IDProperty+String.swift",
"Model++/KeypathTypealiases.swift",
"Model++/Model+CRUDPath.swift",
"Model++/Model+Existence.swift",
"Model++/Model+Find.swift",
"Model++/Model+GroupByQueries.swift",
"Model++/Model+IDKey.swift",
"Model++/Model+KeyPathUpdates.swift",
"Model++/Model+NextID.swift",
"Model++/Model+PatchUpdates.swift",
"Model++/Model+Query.swift",
"Model++/Model+Reflection.swift",
"Model++/Model+RequireIDs.swift",
"Model++/Model+Seeding.swift",
"Model++/Model+TableActions.swift",
"Model++/Protocols/Joinable.swift",
"Model++/Protocols/Timestampable.swift",
"Parameters++/Parameters+ModelResolution.swift",
"Queries/DatabaseQuery++.swift",
"Queries/Pagination/+QueryPaginating/QueryBuilder+QueryPaginating.swift",
"Queries/Pagination/+QueryPaginating/SQLRawBuilder+QueryPaginating.swift",
"Queries/Pagination/+QueryPaginating/SQLSelectBuilder+QueryPaginating.swift",
"Queries/Pagination/Model+Paginatable.swift",
"Queries/Pagination/Page+TransformData.swift",
"Queries/Pagination/Paginatable.swift",
"Queries/Pagination/QueryPaginating.swift",
"Queries/Pagination/URLQueryContainer+DecodePageRequest.swift",
"Queries/QueryBuilder++/QueryBuilder+AssertNone.swift",
"Queries/QueryBuilder++/QueryBuilder+Conversion.swift",
"Queries/QueryBuilder++/QueryBuilder+DuplicateJoins.swift",
"Queries/QueryBuilder++/QueryBuilder+EmptyResult.swift",
"Queries/QueryBuilder++/QueryBuilder+FilterSugar.swift",
"Queries/QueryBuilder++/QueryBuilder+GroupBuilder.swift",
"Queries/QueryBuilder++/QueryBuilder+GroupBy.swift",
"Queries/QueryBuilder++/QueryBuilder+GroupedFilters.swift",
"Queries/QueryBuilder++/QueryBuilder+KeyPathUpdates.swift",
"Queries/QueryBuilder++/QueryBuilder+KeyPathValues.swift",
"Queries/QueryBuilder++/QueryBuilder+Limit.swift",
"Queries/QueryBuilder++/QueryBuilder+Random.swift",
"Queries/QueryBuilder++/QueryBuilder+RangerFilterable.swift",
"Queries/QueryBuilder++/QueryBuilder+SiblingsFiltering.swift",
"Queries/QueryBuilder++/QueryBuilder+Sorts.swift",
"Queries/QueryBuilder++/QueryBuilder+Timestampable.swift",
"Queries/QueryBuilder++/QueryBuiler+FilteredJoins.swift",
"Relationships/ChildrenProperty++.swift",
"Relationships/PivotEntity.swift",
"Relationships/Relationships+LazyLoad.swift",
"Relationships/SelfSiblings/SelfSiblingProperty+EagerLoading.swift",
"Relationships/SelfSiblings/SelfSiblingProperty.swift",
"Relationships/SiblingsProperty++.swift",
"Relationships/SiblingsProperty+PivotEntity.swift",
"Request++/Request+DatabaseQueryParameters/DatabaseQuerySortDirection+StringInit.swift",
"Request++/Request+DatabaseQueryParameters/FlatQueryParametersFilter/FlatQueryParametersFilter.swift",
"Request++/Request+DatabaseQueryParameters/FlatQueryParametersFilter/SingleValueDecoder.swift",
"Request++/Request+DatabaseQueryParameters/QueryBuilder+QueryParameterFilters.swift",
"Request++/Request+DatabaseQueryParameters/QueryBuilder+QueryParameterSorts.swift",
"Request++/Request+DatabaseQueryParameters/QueryParameterFilter+Builder.swift",
"Request++/Request+DatabaseQueryParameters/QueryParameterFilter.swift",
"Request++/Request+DatabaseQueryParameters/QueryParemeterFilter+NestedFilters.swift",
"Request++/Request+DatabaseQueryParameters/Request+QueryParameterFilters.swift",
"Request++/Request+DatabaseQueryParameters/Search/QueryParameterSearchFilter.swift",
"RoutesBuilder++/RoutesBuilder+ModelParameter.swift",
"SQLKit++/+SQLExpression/KeyPath+SQLColumn.swift",
"SQLKit++/+SQLExpression/Literals+SQLExpression.swift",
"SQLKit++/Database++/Database+SQL.swift",
"SQLKit++/Database++/Database+TransactionThrowing.swift",
"SQLKit++/SQLExpression++/SQLExpression+Alias.swift",
"SQLKit++/SQLExpressions/SQLAll.swift",
"SQLKit++/SQLExpressions/SQLAny.swift",
"SQLKit++/SQLExpressions/SQLCase.swift",
"SQLKit++/SQLExpressions/SQLCast.swift",
"SQLKit++/SQLExpressions/SQLCoalesce.swift",
"SQLKit++/SQLExpressions/SQLCount.swift",
"SQLKit++/SQLExpressions/SQLSum.swift",
"SQLKit++/SQLExpressions/SQLUnion.swift",
"SQLKit++/SQLKit+LabeledValues.swift",
"SQLKit++/SQLPredicateBuilder++.swift",
"SQLKit++/SQLQueryFetcher++.swift",
"SQLKit++/SQLSelectBuilder++/SQLSelectBuilder+Join.swift",
"SQLKit++/SQLSelectBuilder++/SQLSelectBuilder+Model.swift",
"SQLKit++/SQLSelectBuilder++/SQLSelectBuilder+Sum.swift",
"Schema++/FieldKey+StringInit.swift",
"Schema++/KeyPathExtensions.swift",
"Schema++/Migratable.swift",
"Schema++/Model+DefaultSchema.swift",
"Schema++/PropertyInfo+FieldKey.swift",
"Schema++/Schema+SQLTable.swift",
"Schema++/SchemaBuilder++.swift",
"Schema++/SchemaReflectable/DatabaseSchemaDataType+Reflection.swift",
"Schema++/SchemaReflectable/DatabaseSchemaDataTypeProviding.swift",
"Schema++/SchemaReflectable/Enums/EnumCollectionSchemaReflectable.swift",
"Schema++/SchemaReflectable/Enums/EnumSchemaReflectable.swift",
"Schema++/SchemaReflectable/Fields+ReflectedProperties.swift",
"Schema++/SchemaReflectable/Migrations/AutoMigration.swift",
"Schema++/SchemaReflectable/Migrations/ReflectionMigration.swift",
"Schema++/SchemaReflectable/SchemaBuilder+Reflection.swift",
"Schema++/SchemaReflectable/SchemaReflectable.swift",
"Util/Date+StringInferredInitializer.swift",
"Util/FoundationExtensions.swift",
"Util/Mirror+Properties.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.