Build Information
Successful build of IndexedDataStore, reference main (67242c), with Swift 6.1 for Android on 28 May 2025 04:26:14 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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>&1Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/laevandus/IndexedDataStore.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/laevandus/IndexedDataStore
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 67242cf Merge pull request #6 from laevandus/watchos-min-version
Cloned https://github.com/laevandus/IndexedDataStore.git
Revision (git rev-parse @):
67242cf4b549c5a24d72b831ee67cead6c7d0d97
SUCCESS checkout https://github.com/laevandus/IndexedDataStore.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/laevandus/IndexedDataStore.git
https://github.com/laevandus/IndexedDataStore.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "IndexedDataStore",
"name" : "IndexedDataStore",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "IndexedDataStore",
"targets" : [
"IndexedDataStore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "IndexedDataStoreTests",
"module_type" : "SwiftTarget",
"name" : "IndexedDataStoreTests",
"path" : "IndexedDataStoreTests",
"sources" : [
"IndexedDataStoreTests.swift"
],
"target_dependencies" : [
"IndexedDataStore"
],
"type" : "test"
},
{
"c99name" : "IndexedDataStore",
"module_type" : "SwiftTarget",
"name" : "IndexedDataStore",
"path" : "IndexedDataStore",
"product_memberships" : [
"IndexedDataStore"
],
"sources" : [
"IndexedDataStore+UIKit.swift",
"IndexedDataStore.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/5] Emitting module IndexedDataStore
[4/5] Compiling IndexedDataStore IndexedDataStore+UIKit.swift
[5/5] Compiling IndexedDataStore IndexedDataStore.swift
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:47:23: warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 |
10 | /// Persistent data store with data objects indexed by identifier.
11 | public final class IndexedDataStore {
| `- note: class 'IndexedDataStore' does not conform to the 'Sendable' protocol
12 |
13 | // MARK: Creating the Data Store
:
45 | public func loadData<T>(forIdentifier identifier: Identifier, dataTransformer: @escaping (Data) -> T?, completionHandler: @escaping (T?) -> Void) {
46 | queue.async {
47 | let url = self.url(forIdentifier: identifier)
| `- warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
48 | guard FileManager.default.fileExists(atPath: url.path) else {
49 | DispatchQueue.main.async {
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:50:21: warning: capture of 'completionHandler' with non-sendable type '(T?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
48 | guard FileManager.default.fileExists(atPath: url.path) else {
49 | DispatchQueue.main.async {
50 | completionHandler(nil)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | }
52 | return
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:56:30: warning: capture of 'dataTransformer' with non-sendable type '(Data) -> T?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
54 | do {
55 | let data = try Data(contentsOf: url, options: .mappedIfSafe)
56 | let object = dataTransformer(data)
| |- warning: capture of 'dataTransformer' with non-sendable type '(Data) -> T?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
57 | DispatchQueue.main.async {
58 | completionHandler(object)
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:91:23: warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 |
10 | /// Persistent data store with data objects indexed by identifier.
11 | public final class IndexedDataStore {
| `- note: class 'IndexedDataStore' does not conform to the 'Sendable' protocol
12 |
13 | // MARK: Creating the Data Store
:
89 | public func storeData(_ dataProvider: @escaping () -> Data?, identifier: Identifier = UUID().uuidString, completionHandler: @escaping (Result<Identifier, Error>) -> Void) {
90 | queue.async(flags: .barrier) {
91 | let url = self.url(forIdentifier: identifier)
| `- warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | guard let data = dataProvider(), !data.isEmpty else {
93 | DispatchQueue.main.async {
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:92:30: warning: capture of 'dataProvider' with non-sendable type '() -> Data?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
90 | queue.async(flags: .barrier) {
91 | let url = self.url(forIdentifier: identifier)
92 | guard let data = dataProvider(), !data.isEmpty else {
| |- warning: capture of 'dataProvider' with non-sendable type '() -> Data?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
93 | DispatchQueue.main.async {
94 | completionHandler(.failure(IndexedDataStoreError.noDataProvided))
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:94:21: warning: capture of 'completionHandler' with non-sendable type '(Result<IndexedDataStore.Identifier, any Error>) -> Void' (aka '(Result<String, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | guard let data = dataProvider(), !data.isEmpty else {
93 | DispatchQueue.main.async {
94 | completionHandler(.failure(IndexedDataStoreError.noDataProvided))
| |- warning: capture of 'completionHandler' with non-sendable type '(Result<IndexedDataStore.Identifier, any Error>) -> Void' (aka '(Result<String, any Error>) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 | }
96 | return
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:126:23: warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 |
10 | /// Persistent data store with data objects indexed by identifier.
11 | public final class IndexedDataStore {
| `- note: class 'IndexedDataStore' does not conform to the 'Sendable' protocol
12 |
13 | // MARK: Creating the Data Store
:
124 | public func removeData(forIdentifier identifier: Identifier) {
125 | queue.async(flags: .barrier) {
126 | let url = self.url(forIdentifier: identifier)
| `- warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
127 | guard FileManager.default.fileExists(atPath: url.path) else { return }
128 | do {
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:141:76: warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 |
10 | /// Persistent data store with data objects indexed by identifier.
11 | public final class IndexedDataStore {
| `- note: class 'IndexedDataStore' does not conform to the 'Sendable' protocol
12 |
13 | // MARK: Creating the Data Store
:
139 | queue.async(flags: .barrier) {
140 | do {
141 | let urls = try FileManager.default.contentsOfDirectory(at: self.dataStoreURL, includingPropertiesForKeys: nil, options: [])
| `- warning: capture of 'self' with non-sendable type 'IndexedDataStore' in a '@Sendable' closure; this is an error in the Swift 6 language mode
142 | try urls.forEach({ try FileManager.default.removeItem(at: $0) })
143 | }
/host/spi-builder-workspace/IndexedDataStore/IndexedDataStore.swift:77:30: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
75 | return await withCheckedContinuation({ continuation in
76 | self.loadData(forIdentifier: identifier, dataTransformer: dataTransformer) { object in
77 | continuation.resume(returning: object)
| |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'object' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
78 | }
79 | })
Build complete! (8.47s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "IndexedDataStore",
"name" : "IndexedDataStore",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "IndexedDataStore",
"targets" : [
"IndexedDataStore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "IndexedDataStoreTests",
"module_type" : "SwiftTarget",
"name" : "IndexedDataStoreTests",
"path" : "IndexedDataStoreTests",
"sources" : [
"IndexedDataStoreTests.swift"
],
"target_dependencies" : [
"IndexedDataStore"
],
"type" : "test"
},
{
"c99name" : "IndexedDataStore",
"module_type" : "SwiftTarget",
"name" : "IndexedDataStore",
"path" : "IndexedDataStore",
"product_memberships" : [
"IndexedDataStore"
],
"sources" : [
"IndexedDataStore+UIKit.swift",
"IndexedDataStore.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.