The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of MicroExpress, reference master (08760d), with Swift 6.1 for Linux on 27 Apr 2025 03:20:56 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NozeIO/MicroExpress.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/NozeIO/MicroExpress
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 08760d0 Update README.md
Cloned https://github.com/NozeIO/MicroExpress.git
Revision (git rev-parse @):
08760d00f09f1cc17334290d97fdfc4bf04ea5a8
SUCCESS checkout https://github.com/NozeIO/MicroExpress.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/NozeIO/MicroExpress.git
https://github.com/NozeIO/MicroExpress.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "mustache",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.9",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/AlwaysRightInstitute/mustache.git"
    }
  ],
  "manifest_display_name" : "MicroExpress",
  "name" : "MicroExpress",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "MicroExpress",
      "targets" : [
        "MicroExpress"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroExpress",
      "module_type" : "SwiftTarget",
      "name" : "MicroExpress",
      "path" : "Sources/MicroExpress",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "mustache"
      ],
      "product_memberships" : [
        "MicroExpress"
      ],
      "sources" : [
        "CORS.swift",
        "Express.swift",
        "FS.swift",
        "IncomingMessage.swift",
        "Middleware.swift",
        "QueryString.swift",
        "Router.swift",
        "ServerResponse.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/AlwaysRightInstitute/mustache.git
Fetching https://github.com/apple/swift-nio.git
[1/559] Fetching mustache
[560/75990] Fetching mustache, swift-nio
Fetched https://github.com/AlwaysRightInstitute/mustache.git from cache (3.38s)
Fetched https://github.com/apple/swift-nio.git from cache (3.47s)
Computing version for https://github.com/AlwaysRightInstitute/mustache.git
Computed https://github.com/AlwaysRightInstitute/mustache.git at 0.5.9 (3.91s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.82.0 (0.69s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-system.git
[1/1705] Fetching swift-atomics
[36/6058] Fetching swift-atomics, swift-system
[4753/22300] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (0.38s)
[8739/20595] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (0.89s)
Fetched https://github.com/apple/swift-collections.git from cache (0.91s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (1.36s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.4.2 (0.41s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.63s)
Creating working copy for https://github.com/AlwaysRightInstitute/mustache.git
Working copy of https://github.com/AlwaysRightInstitute/mustache.git resolved at 0.5.9
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.4.2
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.82.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Building for debugging...
[0/26] Write sources
[12/26] Compiling CNIOWindows WSAStartup.c
[13/26] Compiling CNIOWindows shim.c
[13/26] Compiling CNIOWASI CNIOWASI.c
[15/26] Compiling CNIOLinux liburing_shims.c
[16/26] Compiling _AtomicsShims.c
[17/26] Compiling CNIODarwin shim.c
[18/26] Write sources
[19/26] Compiling CNIOLLHTTP c_nio_http.c
[20/26] Compiling CNIOLinux shim.c
[21/26] Compiling CNIOLLHTTP c_nio_api.c
[22/26] Write swift-version-24593BA9C3E375BF.txt
[23/26] Compiling CNIOLLHTTP c_nio_llhttp.c
[24/76] Compiling c-nioatomics.c
[26/76] Emitting module InternalCollectionsUtilities
[26/78] Compiling c-atomics.c
[28/78] Emitting module _NIOBase64
[29/78] Compiling _NIOBase64 Base64.swift
[30/79] Compiling Atomics AtomicReference.swift
[31/79] Compiling Atomics AtomicStorage.swift
[32/79] Compiling Atomics AtomicValue.swift
[33/81] Compiling _NIODataStructures _TinyArray.swift
[34/81] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[35/81] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[37/82] Compiling Atomics AtomicMemoryOrderings.swift
[38/82] Compiling Atomics DoubleWord.swift
[41/82] Compiling Atomics UnsafeAtomic.swift
[42/82] Compiling Atomics UnsafeAtomicLazyReference.swift
[43/85] Compiling Atomics Primitives.shims.swift
[44/85] Compiling Atomics AtomicInteger.swift
[45/85] Compiling Atomics AtomicOptionalWrappable.swift
[48/87] Compiling Atomics IntegerConformances.swift
[49/87] Compiling Atomics PointerConformances.swift
[50/87] Compiling Atomics Primitives.native.swift
[51/87] Compiling Atomics OptionalRawRepresentable.swift
[52/87] Compiling Atomics RawRepresentable.swift
[53/87] Compiling Atomics AtomicBool.swift
[60/87] Compiling _NIODataStructures PriorityQueue.swift
[63/88] Compiling Atomics IntegerOperations.swift
[64/88] Compiling Atomics Unmanaged extensions.swift
[66/88] Emitting module Atomics
[74/104] Emitting module _NIODataStructures
[75/104] Compiling _NIODataStructures Heap.swift
[76/104] Compiling NIOConcurrencyHelpers NIOLock.swift
[77/105] Emitting module NIOConcurrencyHelpers
[78/105] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[79/105] Compiling mustache MustacheNode.swift
[80/105] Compiling mustache MustacheParser.swift
[81/105] Compiling NIOConcurrencyHelpers lock.swift
[83/105] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[84/105] Compiling NIOConcurrencyHelpers atomics.swift
[85/106] Compiling DequeModule Deque+CustomReflectable.swift
[86/106] Compiling DequeModule Deque+Descriptions.swift
[87/108] Compiling DequeModule Deque+Equatable.swift
[88/108] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[89/108] Compiling DequeModule _DequeBuffer.swift
[90/108] Compiling DequeModule _DequeBufferHeader.swift
[92/108] Compiling DequeModule Deque+Extras.swift
[93/108] Compiling DequeModule Deque+Hashable.swift
[94/108] Compiling mustache Mustacheable.swift
[95/108] Compiling mustache SimpleKVC.swift
[96/108] Compiling mustache MustacheRenderingContext.swift
[97/108] Compiling mustache HTMLEscape.swift
[98/108] Emitting module mustache
[99/108] Compiling mustache Helpers.swift
[101/109] Compiling DequeModule Deque+Testing.swift
[102/109] Compiling DequeModule Deque._Storage.swift
[103/109] Compiling DequeModule Deque._UnsafeHandle.swift
[104/109] Compiling DequeModule Deque.swift
[105/109] Compiling DequeModule _DequeSlot.swift
[106/109] Compiling DequeModule _UnsafeWrappedBuffer.swift
[107/109] Compiling DequeModule Deque+Codable.swift
[108/109] Compiling DequeModule Deque+Collection.swift
[109/109] Emitting module DequeModule
[111/169] Compiling NIOCore GlobalSingletons.swift
[112/169] Compiling NIOCore IO.swift
[113/169] Compiling NIOCore IOData.swift
[114/169] Compiling NIOCore IPProtocol.swift
[115/169] Compiling NIOCore IntegerBitPacking.swift
[116/169] Compiling NIOCore IntegerTypes.swift
[117/169] Compiling NIOCore Interfaces.swift
[118/169] Compiling NIOCore Linux.swift
[119/177] Compiling NIOCore AddressedEnvelope.swift
[120/177] Compiling NIOCore AsyncAwaitSupport.swift
[121/177] Compiling NIOCore AsyncChannel.swift
[122/177] Compiling NIOCore AsyncChannelHandler.swift
[123/177] Compiling NIOCore AsyncChannelInboundStream.swift
[124/177] Compiling NIOCore AsyncChannelOutboundWriter.swift
[125/177] Compiling NIOCore NIOAsyncSequenceProducer.swift
[126/177] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[127/177] Compiling NIOCore NIOAsyncWriter.swift
[128/177] Compiling NIOCore MarkedCircularBuffer.swift
[129/177] Compiling NIOCore MulticastChannel.swift
[130/177] Compiling NIOCore NIOAny.swift
[131/177] Compiling NIOCore NIOCloseOnErrorHandler.swift
[132/177] Compiling NIOCore NIOLoopBound.swift
[133/177] Compiling NIOCore NIOScheduledCallback.swift
[134/177] Compiling NIOCore NIOSendable.swift
[135/177] Compiling NIOCore RecvByteBufferAllocator.swift
[136/177] Compiling NIOCore ChannelPipeline.swift
[137/177] Compiling NIOCore CircularBuffer.swift
[138/177] Compiling NIOCore Codec.swift
[139/177] Compiling NIOCore ConvenienceOptionSupport.swift
[140/177] Compiling NIOCore DeadChannel.swift
[141/177] Compiling NIOCore DispatchQueue+WithFuture.swift
[142/177] Compiling NIOCore EventLoop+Deprecated.swift
[143/177] Compiling NIOCore EventLoop+SerialExecutor.swift
[144/177] Compiling NIOCore EventLoop.swift
[145/177] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[146/177] Compiling NIOCore EventLoopFuture+Deprecated.swift
[147/177] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[148/177] Compiling NIOCore EventLoopFuture.swift
[149/177] Compiling NIOCore FileDescriptor.swift
[150/177] Compiling NIOCore FileHandle.swift
[151/177] Compiling NIOCore FileRegion.swift
[152/177] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[153/177] Compiling NIOCore BSDSocketAPI.swift
[154/177] Compiling NIOCore ByteBuffer-aux.swift
[155/177] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[156/177] Compiling NIOCore ByteBuffer-conversions.swift
[157/177] Compiling NIOCore ByteBuffer-core.swift
[158/177] Compiling NIOCore ByteBuffer-hex.swift
[159/177] Compiling NIOCore ByteBuffer-int.swift
[160/177] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[161/177] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[162/177] Compiling NIOCore SocketAddresses.swift
[163/177] Compiling NIOCore SocketOptionProvider.swift
[164/177] Compiling NIOCore SystemCallHelpers.swift
[165/177] Compiling NIOCore TimeAmount+Duration.swift
[166/177] Compiling NIOCore TypeAssistedChannelHandler.swift
[167/177] Compiling NIOCore UniversalBootstrapSupport.swift
[168/177] Compiling NIOCore Utilities.swift
[169/177] Compiling NIOCore ByteBuffer-multi-int.swift
[170/177] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[171/177] Compiling NIOCore ByteBuffer-views.swift
[172/177] Compiling NIOCore Channel.swift
[173/177] Compiling NIOCore ChannelHandler.swift
[174/177] Compiling NIOCore ChannelHandlers.swift
[175/177] Compiling NIOCore ChannelInvoker.swift
[176/177] Compiling NIOCore ChannelOption.swift
[177/177] Emitting module NIOCore
[179/229] Compiling NIOEmbedded Embedded.swift
[180/229] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[181/229] Emitting module NIOEmbedded
[182/229] Compiling NIOEmbedded AsyncTestingChannel.swift
[184/230] Compiling NIOPosix PooledRecvBufferAllocator.swift
[185/230] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[186/230] Compiling NIOPosix PosixSingletons.swift
[187/230] Compiling NIOPosix RawSocketBootstrap.swift
[188/230] Compiling NIOPosix Resolver.swift
[189/230] Compiling NIOPosix Selectable.swift
[190/236] Compiling NIOPosix ThreadPosix.swift
[191/236] Compiling NIOPosix ThreadWindows.swift
[192/236] Compiling NIOPosix UnsafeTransfer.swift
[193/236] Compiling NIOPosix Utilities.swift
[194/236] Compiling NIOPosix VsockAddress.swift
[195/236] Compiling NIOPosix VsockChannelEvents.swift
[196/236] Compiling NIOPosix ServerSocket.swift
[197/236] Compiling NIOPosix Socket.swift
[198/236] Compiling NIOPosix SocketChannel.swift
[199/236] Compiling NIOPosix SocketProtocols.swift
[200/236] Compiling NIOPosix System.swift
[201/236] Compiling NIOPosix Thread.swift
[202/236] Compiling NIOPosix SelectableChannel.swift
[203/236] Compiling NIOPosix SelectableEventLoop.swift
[204/236] Compiling NIOPosix SelectorEpoll.swift
[205/236] Compiling NIOPosix SelectorGeneric.swift
[206/236] Compiling NIOPosix SelectorKqueue.swift
[207/236] Compiling NIOPosix SelectorUring.swift
[208/236] Compiling NIOPosix IO.swift
[209/236] Compiling NIOPosix IntegerBitPacking.swift
[210/236] Compiling NIOPosix IntegerTypes.swift
[211/236] Compiling NIOPosix Linux.swift
[212/236] Compiling NIOPosix LinuxCPUSet.swift
[213/236] Compiling NIOPosix LinuxUring.swift
[214/236] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[215/236] Compiling NIOPosix BSDSocketAPICommon.swift
[216/236] Compiling NIOPosix BSDSocketAPIPosix.swift
[217/236] Compiling NIOPosix BSDSocketAPIWindows.swift
[218/236] Compiling NIOPosix BaseSocket.swift
[219/236] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[220/236] Compiling NIOPosix BaseSocketChannel.swift
[221/236] Compiling NIOPosix BaseStreamSocketChannel.swift
[222/236] Emitting module NIOPosix
[223/236] Compiling NIOPosix NIOThreadPool.swift
[224/236] Compiling NIOPosix NonBlockingFileIO.swift
[225/236] Compiling NIOPosix PendingDatagramWritesManager.swift
[226/236] Compiling NIOPosix PendingWritesManager.swift
[227/236] Compiling NIOPosix PipeChannel.swift
[228/236] Compiling NIOPosix PipePair.swift
[229/236] Compiling NIOPosix Pool.swift
[230/236] Compiling NIOPosix Bootstrap.swift
[231/236] Compiling NIOPosix ControlMessage.swift
[232/236] Compiling NIOPosix DatagramVectorReadManager.swift
[233/236] Compiling NIOPosix Errors+Any.swift
[234/236] Compiling NIOPosix FileDescriptor.swift
[235/236] Compiling NIOPosix GetaddrinfoResolver.swift
[236/236] Compiling NIOPosix HappyEyeballs.swift
[238/239] Compiling NIO Exports.swift
[239/239] Emitting module NIO
[241/256] Emitting module NIOHTTP1
[242/258] Compiling NIOHTTP1 HTTPPipelineSetup.swift
[243/258] Compiling NIOHTTP1 HTTPServerPipelineHandler.swift
[244/258] Compiling NIOHTTP1 NIOHTTPClientUpgradeHandler.swift
[245/258] Compiling NIOHTTP1 NIOHTTPObjectAggregator.swift
[246/258] Compiling NIOHTTP1 NIOTypedHTTPClientUpgradeHandler.swift
[247/258] Compiling NIOHTTP1 NIOTypedHTTPClientUpgraderStateMachine.swift
[248/258] Compiling NIOHTTP1 HTTPServerProtocolErrorHandler.swift
[249/258] Compiling NIOHTTP1 HTTPServerUpgradeHandler.swift
[250/258] Compiling NIOHTTP1 HTTPTypedPipelineSetup.swift
[251/258] Compiling NIOHTTP1 HTTPTypes.swift
[252/258] Compiling NIOHTTP1 NIOTypedHTTPServerUpgradeHandler.swift
[253/258] Compiling NIOHTTP1 NIOTypedHTTPServerUpgraderStateMachine.swift
[254/258] Compiling NIOHTTP1 HTTPHeaderValidator.swift
[255/258] Compiling NIOHTTP1 HTTPHeaders+Validation.swift
[256/258] Compiling NIOHTTP1 ByteCollectionUtils.swift
[257/258] Compiling NIOHTTP1 HTTPDecoder.swift
[258/258] Compiling NIOHTTP1 HTTPEncoder.swift
[260/267] Compiling MicroExpress QueryString.swift
[261/268] Compiling MicroExpress Middleware.swift
[262/268] Compiling MicroExpress Router.swift
[263/268] Compiling MicroExpress IncomingMessage.swift
[264/268] Compiling MicroExpress CORS.swift
[265/268] Compiling MicroExpress FS.swift
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:50:24: warning: 'init(path:)' is deprecated: Avoid using NIOFileHandle. The type is difficult to hold correctly, use NIOFileSystem as a replacement API.
48 |         let fh : NIO.NIOFileHandle
49 |         do { // Blocking:
50 |           fh = try NIO.NIOFileHandle(path: path)
   |                        `- warning: 'init(path:)' is deprecated: Avoid using NIOFileHandle. The type is difficult to hold correctly, use NIOFileSystem as a replacement API.
51 |         }
52 |         catch { return emit(error: error) }
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:41:34: warning: capture of 'cb' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
39 |     func emit(error: Error? = nil, result: ByteBuffer? = nil) {
40 |       if eventLoop.inEventLoop { cb(error, result) }
41 |       else { eventLoop.execute { cb(error, result) } }
   |                                  |- warning: capture of 'cb' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
   |                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
42 |     }
43 |
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:52:24: warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
50 |           fh = try NIO.NIOFileHandle(path: path)
51 |         }
52 |         catch { return emit(error: error) }
   |                        |- warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
53 |       #else
54 |         let fh : NIO.FileHandle
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:39:10: warning: concurrently-executed local function 'emit(error:result:)' must be marked as '@Sendable'
37 |                  ?? loopGroup.next()
38 |
39 |     func emit(error: Error? = nil, result: ByteBuffer? = nil) {
   |          `- warning: concurrently-executed local function 'emit(error:result:)' must be marked as '@Sendable'
40 |       if eventLoop.inEventLoop { cb(error, result) }
41 |       else { eventLoop.execute { cb(error, result) } }
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:64:41: warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
62 |                   allocator  : ByteBufferAllocator(),
63 |                   eventLoop  : eventLoop)
64 |         .map         { try? fh.close(); emit(result: $0) }
   |                                         |- warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
65 |         .whenFailure { try? fh.close(); emit(error:  $0) }
66 |     }
/host/spi-builder-workspace/Sources/MicroExpress/FS.swift:65:41: warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
63 |                   eventLoop  : eventLoop)
64 |         .map         { try? fh.close(); emit(result: $0) }
65 |         .whenFailure { try? fh.close(); emit(error:  $0) }
   |                                         |- warning: capture of 'emit(error:result:)' with non-sendable type '((any Error)?, ByteBuffer?) -> ()' in a '@Sendable' closure
   |                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
66 |     }
67 |   }
[266/268] Emitting module MicroExpress
[267/268] Compiling MicroExpress Express.swift
/host/spi-builder-workspace/Sources/MicroExpress/Express.swift:25:41: warning: type 'Express.HTTPHandler' does not conform to the 'Sendable' protocol
 23 |           return channel.pipeline.configureHTTPServerPipeline().flatMap {
 24 |             _ in
 25 |             channel.pipeline.addHandler(HTTPHandler(router: self))
    |                                         `- warning: type 'Express.HTTPHandler' does not conform to the 'Sendable' protocol
 26 |           }
 27 |         #else
    :
 77 |   }
 78 |
 79 |   final class HTTPHandler : ChannelInboundHandler {
    |               `- note: class 'HTTPHandler' does not conform to the 'Sendable' protocol
 80 |     typealias InboundIn = HTTPServerRequestPart
 81 |
/host/spi-builder-workspace/Sources/MicroExpress/Express.swift:25:61: warning: capture of 'self' with non-sendable type 'Express' in a '@Sendable' closure
  8 |   MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount)
  9 |
 10 | open class Express : Router {
    |            `- note: class 'Express' does not conform to the 'Sendable' protocol
 11 |
 12 |   override public init() {}
    :
 23 |           return channel.pipeline.configureHTTPServerPipeline().flatMap {
 24 |             _ in
 25 |             channel.pipeline.addHandler(HTTPHandler(router: self))
    |                                                             `- warning: capture of 'self' with non-sendable type 'Express' in a '@Sendable' closure
 26 |           }
 27 |         #else
/host/spi-builder-workspace/Sources/MicroExpress/Express.swift:25:61: warning: capture of 'self' with non-sendable type 'Express' in a '@Sendable' closure
  8 |   MultiThreadedEventLoopGroup(numberOfThreads: System.coreCount)
  9 |
 10 | open class Express : Router {
    |            `- note: class 'Express' does not conform to the 'Sendable' protocol
 11 |
 12 |   override public init() {}
    :
 23 |           return channel.pipeline.configureHTTPServerPipeline().flatMap {
 24 |             _ in
 25 |             channel.pipeline.addHandler(HTTPHandler(router: self))
    |                                                             `- warning: capture of 'self' with non-sendable type 'Express' in a '@Sendable' closure
 26 |           }
 27 |         #else
[268/268] Compiling MicroExpress ServerResponse.swift
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:35:27: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
 33 |     #if swift(>=5)
 34 |       _ = channel.writeAndFlush(part)
 35 |                  .recover(handleError)
    |                           `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
 36 |                  .map { self.end() }
 37 |     #else
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:36:25: warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
  4 | import NIOHTTP1
  5 |
  6 | open class ServerResponse {
    |            `- note: class 'ServerResponse' does not conform to the 'Sendable' protocol
  7 |
  8 |   public  var status         = HTTPResponseStatus.ok
    :
 34 |       _ = channel.writeAndFlush(part)
 35 |                  .recover(handleError)
 36 |                  .map { self.end() }
    |                         `- warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
 37 |     #else
 38 |       _ = channel.writeAndFlush(part)
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:54:47: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
 52 |     let part = HTTPServerResponsePart.head(head)
 53 |     #if swift(>=5)
 54 |       _ = channel.writeAndFlush(part).recover(handleError)
    |                                               `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
 55 |     #else
 56 |       _ = channel.writeAndFlush(part).mapIfError(handleError)
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:69:23: warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
  4 | import NIOHTTP1
  5 |
  6 | open class ServerResponse {
    |            `- note: class 'ServerResponse' does not conform to the 'Sendable' protocol
  7 |
  8 |   public  var status         = HTTPResponseStatus.ok
    :
 67 |     didEnd = true
 68 |     _ = channel.writeAndFlush(HTTPServerResponsePart.end(nil))
 69 |                .map { self.channel.close() }
    |                       `- warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
 70 |   }
 71 | }
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:114:27: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
112 |     #if swift(>=5)
113 |       _ = channel.writeAndFlush(part)
114 |                  .recover(handleError)
    |                           `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
115 |                  .map { self.end() }
116 |     #else
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:115:25: warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
  4 | import NIOHTTP1
  5 |
  6 | open class ServerResponse {
    |            `- note: class 'ServerResponse' does not conform to the 'Sendable' protocol
  7 |
  8 |   public  var status         = HTTPResponseStatus.ok
    :
113 |       _ = channel.writeAndFlush(part)
114 |                  .recover(handleError)
115 |                  .map { self.end() }
    |                         `- warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
116 |     #else
117 |       _ = channel.writeAndFlush(part)
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:194:27: warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
192 |     #if swift(>=5)
193 |       _ = channel.writeAndFlush(part)
194 |                  .recover(handleError)
    |                           `- warning: converting non-sendable function value to '@Sendable (any Error) -> Void' may introduce data races
195 |                  .map { self.end() }
196 |     #else
/host/spi-builder-workspace/Sources/MicroExpress/ServerResponse.swift:195:25: warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
  4 | import NIOHTTP1
  5 |
  6 | open class ServerResponse {
    |            `- note: class 'ServerResponse' does not conform to the 'Sendable' protocol
  7 |
  8 |   public  var status         = HTTPResponseStatus.ok
    :
193 |       _ = channel.writeAndFlush(part)
194 |                  .recover(handleError)
195 |                  .map { self.end() }
    |                         `- warning: capture of 'self' with non-sendable type 'ServerResponse' in a '@Sendable' closure
196 |     #else
197 |       _ = channel.writeAndFlush(part)
Build complete! (33.30s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.12.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "mustache",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.9",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/AlwaysRightInstitute/mustache.git"
    }
  ],
  "manifest_display_name" : "MicroExpress",
  "name" : "MicroExpress",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "MicroExpress",
      "targets" : [
        "MicroExpress"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroExpress",
      "module_type" : "SwiftTarget",
      "name" : "MicroExpress",
      "path" : "Sources/MicroExpress",
      "product_dependencies" : [
        "NIO",
        "NIOHTTP1",
        "mustache"
      ],
      "product_memberships" : [
        "MicroExpress"
      ],
      "sources" : [
        "CORS.swift",
        "Express.swift",
        "FS.swift",
        "IncomingMessage.swift",
        "Middleware.swift",
        "QueryString.swift",
        "Router.swift",
        "ServerResponse.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.