Build Information
Successful build of Embassy, reference master (460e0e), with Swift 6.1 for macOS (SPM) on 3 Oct 2026 03:35:18 UTC.
Swift 6 data race errors: 2
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
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/envoy/Embassy.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/envoy/Embassy
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 460e0e1 Modernize package, reorganize sources, and remove unused files (#116)
Cloned https://github.com/envoy/Embassy.git
Revision (git rev-parse @):
460e0e13490d3e32eff97171c6db370514a832f9
SUCCESS checkout https://github.com/envoy/Embassy.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/envoy/Embassy.git
https://github.com/envoy/Embassy.git
{
"dependencies" : [
],
"manifest_display_name" : "Embassy",
"name" : "Embassy",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Embassy",
"targets" : [
"Embassy"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EmbassyTests",
"module_type" : "SwiftTarget",
"name" : "EmbassyTests",
"path" : "Tests/EmbassyTests",
"sources" : [
"HTTPHeaderParserTests.swift",
"HTTPServerTests.swift",
"HeapSortTetsts.swift",
"KqueueSelectorTests.swift",
"MultiDictionaryTests.swift",
"SelectSelectorTests.swift",
"SelectorEventLoopTests.swift",
"TCPSocketTests.swift",
"TestingHelpers.swift",
"TransportTests.swift"
],
"target_dependencies" : [
"Embassy"
],
"type" : "test"
},
{
"c99name" : "Embassy",
"module_type" : "SwiftTarget",
"name" : "Embassy",
"path" : "Sources",
"product_memberships" : [
"Embassy"
],
"sources" : [
"Atomic.swift",
"Errors.swift",
"EventLoop.swift",
"HeapSort.swift",
"IOUtils.swift",
"KqueueSelector.swift",
"Logger/DefaultLogFormatter.swift",
"Logger/DefaultLogger.swift",
"Logger/FileLogHandler.swift",
"Logger/LogFormatter.swift",
"Logger/LogHandler.swift",
"Logger/Logger.swift",
"Logger/PrintLogHandler.swift",
"Logger/TransformLogHandler.swift",
"MultiDictionary.swift",
"Network/DefaultHTTPServer.swift",
"Network/HTTPConnection.swift",
"Network/HTTPHeaderParser.swift",
"Network/HTTPRequest.swift",
"Network/HTTPServer.swift",
"PropagateLogHandler.swift",
"SWSGI.swift",
"SWSGIUtils.swift",
"SelectSelector.swift",
"Selector.swift",
"SelectorEventLoop.swift",
"SystemLibrary.swift",
"TCPSocket.swift",
"Transport.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/30] Emitting module Embassy
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:100:20: warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
98 | static let select = Darwin.select
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'htons' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
102 | static let connect = Darwin.connect
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:101:20: warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ntohs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | static let connect = Darwin.connect
103 | static let bind = Darwin.bind
[4/32] Compiling Embassy TCPSocket.swift
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:179:30: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead
177 | @discardableResult
178 | func send(data: Data) throws -> Int {
179 | let bytesSent = data.withUnsafeBytes { pointer in
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead
180 | SystemLibrary.send(fileDescriptor, pointer, data.count, Int32(0))
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:193:31: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
191 | func recv(size: Int) throws -> Data {
192 | var bytes = Data(count: size)
193 | let bytesRead = bytes.withUnsafeMutableBytes { pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
194 | return SystemLibrary.recv(fileDescriptor, pointer, size, Int32(0))
195 | }
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:288:23: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
286 | // convert address struct into address string
287 | var address = Data(count: Int(addressLength))
288 | guard address.withUnsafeMutableBytes({ pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
289 | inet_ntop(
290 | family,
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:291:17: warning: forming 'UnsafeRawPointer' to a variable of type 'StructType'; this is likely incorrect because 'StructType' may contain an object reference.
289 | inet_ntop(
290 | family,
291 | &addrStruct,
| `- warning: forming 'UnsafeRawPointer' to a variable of type 'StructType'; this is likely incorrect because 'StructType' may contain an object reference.
292 | pointer,
293 | socklen_t(addressLength)
[5/32] Compiling Embassy Transport.swift
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:179:30: warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead
177 | @discardableResult
178 | func send(data: Data) throws -> Int {
179 | let bytesSent = data.withUnsafeBytes { pointer in
| `- warning: 'withUnsafeBytes' is deprecated: use `withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R` instead
180 | SystemLibrary.send(fileDescriptor, pointer, data.count, Int32(0))
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:193:31: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
191 | func recv(size: Int) throws -> Data {
192 | var bytes = Data(count: size)
193 | let bytesRead = bytes.withUnsafeMutableBytes { pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
194 | return SystemLibrary.recv(fileDescriptor, pointer, size, Int32(0))
195 | }
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:288:23: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
286 | // convert address struct into address string
287 | var address = Data(count: Int(addressLength))
288 | guard address.withUnsafeMutableBytes({ pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
289 | inet_ntop(
290 | family,
/Users/admin/builder/spi-builder-workspace/Sources/TCPSocket.swift:291:17: warning: forming 'UnsafeRawPointer' to a variable of type 'StructType'; this is likely incorrect because 'StructType' may contain an object reference.
289 | inet_ntop(
290 | family,
291 | &addrStruct,
| `- warning: forming 'UnsafeRawPointer' to a variable of type 'StructType'; this is likely incorrect because 'StructType' may contain an object reference.
292 | pointer,
293 | socklen_t(addressLength)
[6/32] Compiling Embassy Selector.swift
/Users/admin/builder/spi-builder-workspace/Sources/SelectorEventLoop.swift:60:34: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
58 | var readSize = 1
59 | while readSize > 0 {
60 | readSize = bytes.withUnsafeMutableBytes { pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
61 | return SystemLibrary.read(localPipeReceiver, pointer, Int(size))
62 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:100:20: warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
98 | static let select = Darwin.select
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'htons' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
102 | static let connect = Darwin.connect
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:101:20: warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ntohs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | static let connect = Darwin.connect
103 | static let bind = Darwin.bind
[7/32] Compiling Embassy SelectorEventLoop.swift
/Users/admin/builder/spi-builder-workspace/Sources/SelectorEventLoop.swift:60:34: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
58 | var readSize = 1
59 | while readSize > 0 {
60 | readSize = bytes.withUnsafeMutableBytes { pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
61 | return SystemLibrary.read(localPipeReceiver, pointer, Int(size))
62 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:100:20: warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
98 | static let select = Darwin.select
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'htons' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
102 | static let connect = Darwin.connect
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:101:20: warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ntohs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | static let connect = Darwin.connect
103 | static let bind = Darwin.bind
[8/32] Compiling Embassy SystemLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/SelectorEventLoop.swift:60:34: warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
58 | var readSize = 1
59 | while readSize > 0 {
60 | readSize = bytes.withUnsafeMutableBytes { pointer in
| `- warning: 'withUnsafeMutableBytes' is deprecated: use `withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R` instead
61 | return SystemLibrary.read(localPipeReceiver, pointer, Int(size))
62 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:100:20: warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
98 | static let select = Darwin.select
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'htons' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'htons' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
102 | static let connect = Darwin.connect
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SystemLibrary.swift:101:20: warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
99 | static let isLittleEndian = Int(OSHostByteOrder()) == OSLittleEndian
100 | static let htons = isLittleEndian ? _OSSwapInt16 : { $0 }
101 | static let ntohs = isLittleEndian ? _OSSwapInt16 : { $0 }
| |- warning: static property 'ntohs' is not concurrency-safe because non-'Sendable' type '(__uint16_t) -> __uint16_t' (aka '(UInt16) -> UInt16') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ntohs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | static let connect = Darwin.connect
103 | static let bind = Darwin.bind
[9/32] Compiling Embassy HTTPRequest.swift
[10/32] Compiling Embassy HTTPServer.swift
[11/32] Compiling Embassy PropagateLogHandler.swift
[12/32] Compiling Embassy PrintLogHandler.swift
[13/32] Compiling Embassy TransformLogHandler.swift
[14/32] Compiling Embassy MultiDictionary.swift
[15/32] Compiling Embassy SWSGI.swift
[16/32] Compiling Embassy SWSGIUtils.swift
[17/32] Compiling Embassy SelectSelector.swift
[18/32] Compiling Embassy Atomic.swift
[19/32] Compiling Embassy Errors.swift
[20/32] Compiling Embassy EventLoop.swift
[21/32] Compiling Embassy DefaultLogFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:28:32: warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
11 |
12 | /// A log handler which writes log records to given file handle
13 | public struct FileLogHandler: LogHandler {
| `- note: consider making struct 'FileLogHandler' conform to the 'Sendable' protocol
14 | let fileHandle: FileHandle
15 | public var formatter: LogFormatter?
:
26 | public func emit(record: LogRecord) {
27 | queue.async {
28 | if let formatter = self.formatter {
| `- warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
29 | let msg = formatter.format(record: record) + "\n"
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:29:52: warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
27 | queue.async {
28 | if let formatter = self.formatter {
29 | let msg = formatter.format(record: record) + "\n"
| `- warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
31 | self.fileHandle.synchronizeFile()
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Logger.swift:37:15: note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
35 | }
36 |
37 | public struct LogRecord {
| `- note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
38 | let loggerName: String
39 | let level: LogLevel
[22/32] Compiling Embassy DefaultLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:28:32: warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
11 |
12 | /// A log handler which writes log records to given file handle
13 | public struct FileLogHandler: LogHandler {
| `- note: consider making struct 'FileLogHandler' conform to the 'Sendable' protocol
14 | let fileHandle: FileHandle
15 | public var formatter: LogFormatter?
:
26 | public func emit(record: LogRecord) {
27 | queue.async {
28 | if let formatter = self.formatter {
| `- warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
29 | let msg = formatter.format(record: record) + "\n"
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:29:52: warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
27 | queue.async {
28 | if let formatter = self.formatter {
29 | let msg = formatter.format(record: record) + "\n"
| `- warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
31 | self.fileHandle.synchronizeFile()
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Logger.swift:37:15: note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
35 | }
36 |
37 | public struct LogRecord {
| `- note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
38 | let loggerName: String
39 | let level: LogLevel
[23/32] Compiling Embassy FileLogHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:28:32: warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
11 |
12 | /// A log handler which writes log records to given file handle
13 | public struct FileLogHandler: LogHandler {
| `- note: consider making struct 'FileLogHandler' conform to the 'Sendable' protocol
14 | let fileHandle: FileHandle
15 | public var formatter: LogFormatter?
:
26 | public func emit(record: LogRecord) {
27 | queue.async {
28 | if let formatter = self.formatter {
| `- warning: capture of 'self' with non-sendable type 'FileLogHandler' in a '@Sendable' closure
29 | let msg = formatter.format(record: record) + "\n"
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
/Users/admin/builder/spi-builder-workspace/Sources/Logger/FileLogHandler.swift:29:52: warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
27 | queue.async {
28 | if let formatter = self.formatter {
29 | let msg = formatter.format(record: record) + "\n"
| `- warning: capture of 'record' with non-sendable type 'LogRecord' in a '@Sendable' closure
30 | self.fileHandle.write(msg.data(using: String.Encoding.utf8)!)
31 | self.fileHandle.synchronizeFile()
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Logger.swift:37:15: note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
35 | }
36 |
37 | public struct LogRecord {
| `- note: consider making struct 'LogRecord' conform to the 'Sendable' protocol
38 | let loggerName: String
39 | let level: LogLevel
[24/32] Compiling Embassy LogFormatter.swift
[25/32] Compiling Embassy LogHandler.swift
[26/32] Compiling Embassy Logger.swift
[27/32] Compiling Embassy HeapSort.swift
[28/32] Compiling Embassy IOUtils.swift
[29/32] Compiling Embassy KqueueSelector.swift
[30/32] Compiling Embassy DefaultHTTPServer.swift
[31/32] Compiling Embassy HTTPConnection.swift
[32/32] Compiling Embassy HTTPHeaderParser.swift
Build complete! (5.36s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Embassy",
"name" : "Embassy",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Embassy",
"targets" : [
"Embassy"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "EmbassyTests",
"module_type" : "SwiftTarget",
"name" : "EmbassyTests",
"path" : "Tests/EmbassyTests",
"sources" : [
"HTTPHeaderParserTests.swift",
"HTTPServerTests.swift",
"HeapSortTetsts.swift",
"KqueueSelectorTests.swift",
"MultiDictionaryTests.swift",
"SelectSelectorTests.swift",
"SelectorEventLoopTests.swift",
"TCPSocketTests.swift",
"TestingHelpers.swift",
"TransportTests.swift"
],
"target_dependencies" : [
"Embassy"
],
"type" : "test"
},
{
"c99name" : "Embassy",
"module_type" : "SwiftTarget",
"name" : "Embassy",
"path" : "Sources",
"product_memberships" : [
"Embassy"
],
"sources" : [
"Atomic.swift",
"Errors.swift",
"EventLoop.swift",
"HeapSort.swift",
"IOUtils.swift",
"KqueueSelector.swift",
"Logger/DefaultLogFormatter.swift",
"Logger/DefaultLogger.swift",
"Logger/FileLogHandler.swift",
"Logger/LogFormatter.swift",
"Logger/LogHandler.swift",
"Logger/Logger.swift",
"Logger/PrintLogHandler.swift",
"Logger/TransformLogHandler.swift",
"MultiDictionary.swift",
"Network/DefaultHTTPServer.swift",
"Network/HTTPConnection.swift",
"Network/HTTPHeaderParser.swift",
"Network/HTTPRequest.swift",
"Network/HTTPServer.swift",
"PropagateLogHandler.swift",
"SWSGI.swift",
"SWSGIUtils.swift",
"SelectSelector.swift",
"Selector.swift",
"SelectorEventLoop.swift",
"SystemLibrary.swift",
"TCPSocket.swift",
"Transport.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.