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 SwiftSessions, reference main (d10cac), with Swift 6.0 for Linux on 22 Apr 2025 20:27:16 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.60.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alessiorubicini/SwiftSessions.git
Reference: main
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/alessiorubicini/SwiftSessions
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d10caca Updated README
Cloned https://github.com/alessiorubicini/SwiftSessions.git
Revision (git rev-parse @):
d10cacac995c45952a00cdb899f2c897a2c49ba0
SUCCESS checkout https://github.com/alessiorubicini/SwiftSessions.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/alessiorubicini/SwiftSessions.git
https://github.com/alessiorubicini/SwiftSessions.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-async-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-async-algorithms"
    }
  ],
  "manifest_display_name" : "SwiftSessions",
  "name" : "SwiftSessions",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftSessions",
      "targets" : [
        "SwiftSessions"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftSessionsTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSessionsTests",
      "path" : "Tests",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "sources" : [
        "BranchingTests.swift",
        "LinearityTests.swift",
        "LoopTests.swift",
        "MathTests.swift",
        "StandardTests.swift"
      ],
      "target_dependencies" : [
        "SwiftSessions"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftSessions",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSessions",
      "path" : "Sources/SwiftSessions",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "product_memberships" : [
        "SwiftSessions"
      ],
      "sources" : [
        "Client.swift",
        "Empty.swift",
        "Endpoint.swift",
        "Or.swift",
        "Server.swift",
        "Session/Session+Closures.swift",
        "Session/Session+Passing.swift",
        "Session/Session.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:9029076bb687edc160a3d5201c89e92dd9fa7309f33f090c4234365c83366c31
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-async-algorithms
[1/4963] Fetching swift-async-algorithms
Fetched https://github.com/apple/swift-async-algorithms from cache (0.35s)
Computing version for https://github.com/apple/swift-async-algorithms
Computed https://github.com/apple/swift-async-algorithms at 1.0.3 (7.00s)
Fetching https://github.com/apple/swift-collections.git
[1/16175] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.45s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (2.45s)
Creating working copy for https://github.com/apple/swift-async-algorithms
Working copy of https://github.com/apple/swift-async-algorithms resolved at 1.0.3
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/6] Write sources
[5/6] Write swift-version-24593BA9C3E375BF.txt
[7/23] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[8/23] Compiling InternalCollectionsUtilities Integer rank.swift
[9/23] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[10/25] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+SE-0370.swift
[11/25] Compiling InternalCollectionsUtilities UnsafeMutablePointer+SE-0370.swift
[12/25] Compiling InternalCollectionsUtilities UnsafeRawPointer extensions.swift
[13/25] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[14/25] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[15/25] Compiling InternalCollectionsUtilities UInt+reversed.swift
[16/25] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[17/25] Compiling InternalCollectionsUtilities _SortedCollection.swift
[18/25] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[19/25] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[20/25] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[21/25] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[22/25] Compiling InternalCollectionsUtilities Specialize.swift
[23/25] Emitting module InternalCollectionsUtilities
[24/25] Compiling InternalCollectionsUtilities Debugging.swift
[25/25] Compiling InternalCollectionsUtilities Descriptions.swift
[27/96] Compiling DequeModule Deque+Equatable.swift
[28/96] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[29/96] Compiling DequeModule _DequeBuffer.swift
[30/96] Compiling DequeModule _DequeBufferHeader.swift
[31/98] Compiling DequeModule Deque+CustomReflectable.swift
[32/98] Compiling DequeModule Deque+Descriptions.swift
[33/98] Compiling DequeModule Deque+Extras.swift
[34/98] Compiling DequeModule Deque+Hashable.swift
[35/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[36/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[37/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[38/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[39/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[40/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[41/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[42/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[43/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[44/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[45/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[46/98] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[47/98] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[48/98] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[49/98] Compiling DequeModule _DequeSlot.swift
[50/98] Compiling DequeModule _UnsafeWrappedBuffer.swift
[51/105] Compiling DequeModule Deque._UnsafeHandle.swift
[52/105] Compiling DequeModule Deque.swift
[53/105] Compiling DequeModule Deque+Testing.swift
[54/105] Compiling DequeModule Deque._Storage.swift
[55/105] Compiling OrderedCollections OrderedDictionary.swift
[56/105] Compiling OrderedCollections OrderedSet+Codable.swift
[57/105] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[58/105] Compiling OrderedCollections OrderedSet+Descriptions.swift
[59/105] Compiling OrderedCollections OrderedSet+Diffing.swift
[60/105] Compiling OrderedCollections OrderedSet+Equatable.swift
[61/105] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[62/105] Compiling OrderedCollections OrderedSet+Hashable.swift
[63/105] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[64/105] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[65/105] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[66/105] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[67/105] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[68/105] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[69/105] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[70/105] Compiling OrderedCollections OrderedDictionary+Values.swift
[71/105] Compiling OrderedCollections OrderedSet+Initializers.swift
[72/105] Compiling OrderedCollections OrderedSet+Insertions.swift
[73/105] Compiling OrderedCollections OrderedSet+Invariants.swift
[74/105] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[75/105] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[76/105] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[77/105] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[78/105] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[79/105] Compiling DequeModule Deque+Codable.swift
[80/105] Compiling DequeModule Deque+Collection.swift
[89/105] Emitting module DequeModule
[99/106] Compiling OrderedCollections OrderedSet+Sendable.swift
[100/106] Compiling OrderedCollections OrderedSet+SubSequence.swift
[101/106] Compiling OrderedCollections OrderedSet+Testing.swift
[102/106] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[103/106] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[104/106] Compiling OrderedCollections OrderedSet.swift
[105/106] Compiling OrderedCollections _UnsafeBitset.swift
[106/106] Emitting module OrderedCollections
[108/152] Emitting module AsyncAlgorithms
[109/158] Compiling AsyncAlgorithms BoundedBufferStateMachine.swift
[110/158] Compiling AsyncAlgorithms BoundedBufferStorage.swift
[111/158] Compiling AsyncAlgorithms UnboundedBufferStateMachine.swift
[112/158] Compiling AsyncAlgorithms UnboundedBufferStorage.swift
[113/158] Compiling AsyncAlgorithms AsyncChannel.swift
[114/158] Compiling AsyncAlgorithms AsyncThrowingChannel.swift
[115/158] Compiling AsyncAlgorithms AsyncSyncSequence.swift
[116/158] Compiling AsyncAlgorithms AsyncThrottleSequence.swift
[117/158] Compiling AsyncAlgorithms AsyncThrowingExclusiveReductionsSequence.swift
[118/158] Compiling AsyncAlgorithms AsyncThrowingInclusiveReductionsSequence.swift
[119/158] Compiling AsyncAlgorithms AsyncTimerSequence.swift
[120/158] Compiling AsyncAlgorithms AsyncBufferSequence.swift
[121/158] Compiling AsyncAlgorithms AsyncChunksOfCountSequence.swift
[122/158] Compiling AsyncAlgorithms AsyncCompactedSequence.swift
[123/158] Compiling AsyncAlgorithms AsyncExclusiveReductionsSequence.swift
[124/158] Compiling AsyncAlgorithms AsyncInclusiveReductionsSequence.swift
[125/158] Compiling AsyncAlgorithms AsyncJoinedBySeparatorSequence.swift
[126/158] Compiling AsyncAlgorithms AsyncJoinedSequence.swift
[127/158] Compiling AsyncAlgorithms AsyncRemoveDuplicatesSequence.swift
[128/158] Compiling AsyncAlgorithms AsyncDebounceSequence.swift
[129/158] Compiling AsyncAlgorithms DebounceStateMachine.swift
[130/158] Compiling AsyncAlgorithms DebounceStorage.swift
[131/158] Compiling AsyncAlgorithms Dictionary.swift
[132/158] Compiling AsyncAlgorithms AsyncInterspersedSequence.swift
[133/158] Compiling AsyncAlgorithms Locking.swift
[134/158] Compiling AsyncAlgorithms AsyncAdjacentPairsSequence.swift
[135/158] Compiling AsyncAlgorithms AsyncBufferedByteIterator.swift
[136/158] Compiling AsyncAlgorithms AsyncChain2Sequence.swift
[137/158] Compiling AsyncAlgorithms AsyncChain3Sequence.swift
[138/158] Compiling AsyncAlgorithms AsyncChunkedByGroupSequence.swift
[139/158] Compiling AsyncAlgorithms AsyncChunkedOnProjectionSequence.swift
[140/158] Compiling AsyncAlgorithms AsyncChunksOfCountOrSignalSequence.swift
[141/158] Compiling AsyncAlgorithms AsyncMerge2Sequence.swift
[142/158] Compiling AsyncAlgorithms AsyncMerge3Sequence.swift
[143/158] Compiling AsyncAlgorithms MergeStateMachine.swift
[144/158] Compiling AsyncAlgorithms MergeStorage.swift
[145/158] Compiling AsyncAlgorithms RangeReplaceableCollection.swift
[146/158] Compiling AsyncAlgorithms Rethrow.swift
[147/158] Compiling AsyncAlgorithms ChannelStateMachine.swift
[148/158] Compiling AsyncAlgorithms ChannelStorage.swift
[149/158] Compiling AsyncAlgorithms AsyncCombineLatest2Sequence.swift
[150/158] Compiling AsyncAlgorithms AsyncCombineLatest3Sequence.swift
[151/158] Compiling AsyncAlgorithms CombineLatestStateMachine.swift
[152/158] Compiling AsyncAlgorithms CombineLatestStorage.swift
[153/158] Compiling AsyncAlgorithms SetAlgebra.swift
[154/158] Compiling AsyncAlgorithms UnsafeTransfer.swift
[155/158] Compiling AsyncAlgorithms AsyncZip2Sequence.swift
[156/158] Compiling AsyncAlgorithms AsyncZip3Sequence.swift
[157/158] Compiling AsyncAlgorithms ZipStateMachine.swift
[158/158] Compiling AsyncAlgorithms ZipStorage.swift
[160/167] Compiling SwiftSessions Session+Passing.swift
/host/spi-builder-workspace/Sources/SwiftSessions/Session/Session+Passing.swift:22:29: warning: type 'A' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |     ///   - endpoint: The endpoint to which the payload is sent.
20 |     /// - Returns: The continuation endpoint
21 |     static func send<A, B, C>(_ payload: A, on endpoint: Endpoint<(A, Endpoint<B, C>), Empty>) async -> Endpoint<C, B> {
   |                      `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
22 |         await endpoint.send(payload)
   |                             `- warning: type 'A' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
23 |         return Endpoint<C, B>(from: endpoint)
24 |     }
[161/168] Compiling SwiftSessions Client.swift
/host/spi-builder-workspace/Sources/SwiftSessions/Client.swift:22:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
20 |         await server.connect(with: channel)
21 |         let c = Endpoint<B, A>(with: channel)
22 |         Task {
   |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
23 |             await closure(c)
   |                   |       `- note: closure captures non-Sendable 'c'
   |                   `- note: closure captures non-Sendable 'closure'
24 |         }
25 |     }
[162/168] Emitting module SwiftSessions
[163/168] Compiling SwiftSessions Empty.swift
[164/168] Compiling SwiftSessions Session.swift
/host/spi-builder-workspace/Sources/SwiftSessions/Session/Session.swift:27:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
25 |         let endpoint1 = Endpoint<A, B>(with: channel)
26 |         let endpoint2 = Endpoint<B, A>(with: channel)
27 |         Task {
   |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
28 |             await sideOne(endpoint2)
   |                   |       `- note: closure captures non-Sendable 'endpoint2'
   |                   `- note: closure captures non-Sendable 'sideOne'
29 |         }
30 |         Task {
/host/spi-builder-workspace/Sources/SwiftSessions/Session/Session.swift:30:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
28 |             await sideOne(endpoint2)
29 |         }
30 |         Task {
   |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
31 |             await sideTwo(endpoint1)
   |                   `- note: closure captures 'sideTwo' which is accessible to code in the current task
32 |         }
33 |     }
/host/spi-builder-workspace/Sources/SwiftSessions/Session/Session.swift:42:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
40 |         let e1 = Endpoint<A, B>(with: channel)
41 |         let e2 = Endpoint<B, A>(with: channel)
42 |         Task {
   |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
43 |             await closure(e2)
   |                   `- note: closure captures 'closure' which is accessible to code in the current task
44 |         }
45 |         return e1
[165/168] Compiling SwiftSessions Endpoint.swift
[166/168] Compiling SwiftSessions Or.swift
[167/168] Compiling SwiftSessions Server.swift
/host/spi-builder-workspace/Sources/SwiftSessions/Server.swift:21:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
19 |     init(_ closure: @escaping (_: Endpoint<A, B>) async -> Void) async {
20 |         publicChannel = AsyncChannel()
21 |         Task {
   |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
22 |             while true {
23 |                 for await request in publicChannel {
   |                                      `- note: closure captures 'self' which is accessible to code in the current task
24 |                     let asyncChannel = request as! AsyncChannel<Sendable>
25 |                     let endpoint = Endpoint<A, B>(with: asyncChannel)
/host/spi-builder-workspace/Sources/SwiftSessions/Server.swift:26:26: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
24 |                     let asyncChannel = request as! AsyncChannel<Sendable>
25 |                     let endpoint = Endpoint<A, B>(with: asyncChannel)
26 |                     Task {
   |                          `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
27 |                         await closure(endpoint)
   |                               `- note: closure captures 'closure' which is accessible to code in the current task
28 |                     }
29 |                 }
[168/168] Compiling SwiftSessions Session+Closures.swift
/host/spi-builder-workspace/Sources/SwiftSessions/Session/Session+Closures.swift:23:29: warning: type 'A' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |     ///   - continuation: A closure to be invoked after the send operation completes.
21 |     ///                    This closure receives the continuation endpoint for further communication.
22 |     static func send<A, B, C>(_ payload: A, on endpoint: Endpoint<(A, Endpoint<B, C>), Empty>, continuation: @escaping (Endpoint<C, B>) async -> Void) async {
   |                      `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
23 |         await endpoint.send(payload)
   |                             `- warning: type 'A' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
24 |         let continuationEndpoint = Endpoint<C, B>(from: endpoint)
25 |         await continuation(continuationEndpoint)
Build complete! (35.53s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-async-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-async-algorithms"
    }
  ],
  "manifest_display_name" : "SwiftSessions",
  "name" : "SwiftSessions",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftSessions",
      "targets" : [
        "SwiftSessions"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftSessionsTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSessionsTests",
      "path" : "Tests",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "sources" : [
        "BranchingTests.swift",
        "LinearityTests.swift",
        "LoopTests.swift",
        "MathTests.swift",
        "StandardTests.swift"
      ],
      "target_dependencies" : [
        "SwiftSessions"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftSessions",
      "module_type" : "SwiftTarget",
      "name" : "SwiftSessions",
      "path" : "Sources/SwiftSessions",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "product_memberships" : [
        "SwiftSessions"
      ],
      "sources" : [
        "Client.swift",
        "Empty.swift",
        "Endpoint.swift",
        "Or.swift",
        "Server.swift",
        "Session/Session+Closures.swift",
        "Session/Session+Passing.swift",
        "Session/Session.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:9029076bb687edc160a3d5201c89e92dd9fa7309f33f090c4234365c83366c31
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.