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 CollectionLoader, reference main (99f683), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 01:26:06 UTC.

Swift 6 data race errors: 0

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 InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Frizlab/CollectionLoader.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Frizlab/CollectionLoader
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 99f6833 Start API order property implementation in search loader
Cloned https://github.com/Frizlab/CollectionLoader.git
Revision (git rev-parse @):
99f6833471eb978b36e84a2ec655003cc44274c1
SUCCESS checkout https://github.com/Frizlab/CollectionLoader.git at main
Fetching https://github.com/Frizlab/BMO.git
[1/2517] Fetching bmo
Fetched https://github.com/Frizlab/BMO.git from cache (1.01s)
Creating working copy for https://github.com/Frizlab/BMO.git
Working copy of https://github.com/Frizlab/BMO.git resolved at main (8af6b08)
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "collectionloader",
      "name": "CollectionLoader",
      "url": "https://github.com/Frizlab/CollectionLoader.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CollectionLoader",
      "dependencies": [
        {
          "identity": "bmo",
          "name": "BMO",
          "url": "https://github.com/Frizlab/BMO.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BMO",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/Frizlab/CollectionLoader.git
[1/638] Fetching collectionloader
Fetched https://github.com/Frizlab/CollectionLoader.git from cache (0.65s)
Fetching https://github.com/Frizlab/BMO.git from cache
Fetched https://github.com/Frizlab/BMO.git from cache (0.41s)
Creating working copy for https://github.com/Frizlab/BMO.git
Working copy of https://github.com/Frizlab/BMO.git resolved at main (5d46c8b)
Creating working copy for https://github.com/Frizlab/CollectionLoader.git
Working copy of https://github.com/Frizlab/CollectionLoader.git resolved at main (99f6833)
warning: '.resolve-product-dependencies': dependency 'collectionloader' is not used by any target
Found 1 product dependencies
  - BMO
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Frizlab/CollectionLoader.git
https://github.com/Frizlab/CollectionLoader.git
{
  "dependencies" : [
    {
      "identity" : "bmo",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/BMO.git"
    }
  ],
  "manifest_display_name" : "CollectionLoader",
  "name" : "CollectionLoader",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "CollectionLoader",
      "targets" : [
        "CollectionLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "BMOCoreDataCollectionLoaders",
      "targets" : [
        "BMOCoreDataCollectionLoaders"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CollectionLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "CollectionLoaderTests",
      "path" : "Tests/CollectionLoaderTests",
      "sources" : [
        "CollectionLoaderTests.swift"
      ],
      "target_dependencies" : [
        "CollectionLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CollectionLoader",
      "module_type" : "SwiftTarget",
      "name" : "CollectionLoader",
      "path" : "Sources/CollectionLoader",
      "product_memberships" : [
        "CollectionLoader",
        "BMOCoreDataCollectionLoaders"
      ],
      "sources" : [
        "Core/CollectionLoader.swift",
        "Core/CollectionLoaderDelegate.swift",
        "Core/CollectionLoaderHelper-Protocol.swift",
        "Core/PageInfo-Protocol.swift",
        "Core/PageInfoRetriever-Protocol.swift",
        "Helpers/ConcurrentLoadBehavior.swift",
        "Helpers/LoadingOperationDelegate.swift",
        "Helpers/PageLoadDescription.swift",
        "Helpers/PageLoadReason.swift",
        "Private/BlockCollectionLoaderDelegate.swift",
        "Private/Operation+Utils.swift",
        "Private/PageLoadDescription.Reason+Utils.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "BMOCoreDataCollectionLoaders",
      "module_type" : "SwiftTarget",
      "name" : "BMOCoreDataCollectionLoaders",
      "path" : "Sources/BMOCoreDataCollectionLoaders",
      "product_dependencies" : [
        "BMOCoreData"
      ],
      "product_memberships" : [
        "BMOCoreDataCollectionLoaders"
      ],
      "sources" : [
        "BMOCoreDataListElementLoader.swift",
        "BMOCoreDataSearchLoader.swift",
        "DummyFetchedResultsControllerDelegate.swift",
        "PrivateUtils/BMORequestHelperForLoader.swift"
      ],
      "target_dependencies" : [
        "CollectionLoader"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
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/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/37] Emitting module BMO
[7/39] Compiling BMO RequestHelperCollection.swift
[8/39] Compiling BMO RequestHelperCollectionForOldRuntimes.swift
[9/39] Compiling CollectionLoader Operation+Utils.swift
[10/39] Compiling CollectionLoader PageLoadReason.swift
[11/40] Compiling BMO RequestHelper-Protocol.swift
[12/40] Compiling BMO RequestOperation.swift
[13/40] Compiling BMO RemoteDb-Protocol.swift
[14/40] Compiling BMO Request.swift
[15/40] Compiling CollectionLoader BlockCollectionLoaderDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Private/BlockCollectionLoaderDelegate.swift:33:25: warning: assigning non-sendable parameter 'willStartLoading' to a @Sendable closure
26 |
27 | 	init(
28 | 		willStartLoading: @escaping (CLDPageLoadDescription) -> Void,
   |   `- note: parameter 'willStartLoading' is implicitly non-sendable
29 | 		didFinishLoading: @escaping (CLDPageLoadDescription, Result<CompletionResults, Error>) -> Void,
30 | 		canDelete: @escaping (FetchedObject) -> Bool,
31 | 		willFinishLoading: @escaping (CLDPageLoadDescription, PreCompletionResults, () throws -> Void) throws -> Void
32 | 	) {
33 | 		self.willStartLoading = willStartLoading
   |                         `- warning: assigning non-sendable parameter 'willStartLoading' to a @Sendable closure
34 | 		self.didFinishLoading = didFinishLoading
35 | 		self.canDelete = canDelete
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Private/BlockCollectionLoaderDelegate.swift:34:25: warning: assigning non-sendable parameter 'didFinishLoading' to a @Sendable closure
27 | 	init(
28 | 		willStartLoading: @escaping (CLDPageLoadDescription) -> Void,
29 | 		didFinishLoading: @escaping (CLDPageLoadDescription, Result<CompletionResults, Error>) -> Void,
   |   `- note: parameter 'didFinishLoading' is implicitly non-sendable
30 | 		canDelete: @escaping (FetchedObject) -> Bool,
31 | 		willFinishLoading: @escaping (CLDPageLoadDescription, PreCompletionResults, () throws -> Void) throws -> Void
32 | 	) {
33 | 		self.willStartLoading = willStartLoading
34 | 		self.didFinishLoading = didFinishLoading
   |                         `- warning: assigning non-sendable parameter 'didFinishLoading' to a @Sendable closure
35 | 		self.canDelete = canDelete
36 | 		self.willFinishLoading = willFinishLoading
[16/40] Compiling CollectionLoader PageLoadDescription.swift
[17/40] Compiling CollectionLoader LoadingOperationDelegate.swift
[18/40] Compiling CollectionLoader ConcurrentLoadBehavior.swift
[19/40] Compiling CollectionLoader PageInfoRetriever-Protocol.swift
[20/40] Compiling BMO LocalDb-Protocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Core/CollectionLoader.swift:125:32: warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
123 |
124 | 		/* Yes, self is strongly captured, on purpose. */
125 | 		let prestart = BlockOperation{ @MainActor in /* Swift does not know it, but these block _are_ @MainActor indeed. */
    |                                `- warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
126 | 			/* On main queue (and thus on main actor/thread). */
127 | 			/* Let’s call the delegate first. */
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Core/CollectionLoader.swift:136:34: warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
134 | 		}
135 | 		/* Yes, self is strongly captured, on purpose. */
136 | 		let completion = BlockOperation{ @MainActor in /* Swift does not know it, but these block _are_ @MainActor indeed. */
    |                                  `- warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
137 | 			/* On main queue (and thus on main actor/thread). */
138 | 			/* First, we’ll check for the previous/next page info depending on the loading reason. */
[21/40] Compiling BMO RequestResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Core/CollectionLoader.swift:125:32: warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
123 |
124 | 		/* Yes, self is strongly captured, on purpose. */
125 | 		let prestart = BlockOperation{ @MainActor in /* Swift does not know it, but these block _are_ @MainActor indeed. */
    |                                `- warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
126 | 			/* On main queue (and thus on main actor/thread). */
127 | 			/* Let’s call the delegate first. */
/Users/admin/builder/spi-builder-workspace/Sources/CollectionLoader/Core/CollectionLoader.swift:136:34: warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
134 | 		}
135 | 		/* Yes, self is strongly captured, on purpose. */
136 | 		let completion = BlockOperation{ @MainActor in /* Swift does not know it, but these block _are_ @MainActor indeed. */
    |                                  `- warning: converting function value of type '@MainActor @Sendable () -> Void' to '@Sendable () -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
137 | 			/* On main queue (and thus on main actor/thread). */
138 | 			/* First, we’ll check for the previous/next page info depending on the loading reason. */
[22/40] Compiling BMO Result+Utils.swift
[23/40] Compiling BMO DummyRequestHelper.swift
[24/40] Emitting module CollectionLoader
[25/40] Compiling BMO OperationLifecycleError.swift
[26/40] Compiling BMO RequestError.swift
[27/40] Compiling BMO GenericLocalDbObject.swift
[28/40] Compiling BMO LocalDbChanges.swift
[29/40] Compiling BMO Bridge-Protocol.swift
[30/40] Compiling BMO BridgeObjects-Protocol.swift
[31/40] Compiling BMO RelationshipMergeType.swift
[32/40] Compiling BMO MapError.swift
[36/40] Compiling BMO LocalDbImportOperation.swift
[37/40] Compiling BMO LocalDbImporter-Protocol.swift
[39/40] Compiling BMO ErrorCollection.swift
[40/40] Compiling CollectionLoader PageLoadDescription.Reason+Utils.swift
[41/58] Compiling BMOCoreData CoreDataAPI+Create.swift
[42/58] Compiling BMOCoreData CoreDataAPI+CreateAndGet.swift
[43/58] Compiling BMOCoreData CoreDataAPI+Update-Discarded.swift
[44/58] Compiling BMOCoreData CoreDataAPI+Update-Saved.swift
[45/58] Compiling BMOCoreData CoreDataAPI.swift
[46/58] Compiling BMOCoreData NSManagedObjectContext+Utils.swift
[47/58] Compiling BMOCoreData CoreDataAPI+Delete.swift
[48/58] Compiling BMOCoreData CoreDataAPI+Fetch.swift
[49/58] Compiling BMOCoreData NSFetchRequest+Utils.swift
[50/58] Compiling BMOCoreData NSManagedObject+Utils.swift
[51/58] Compiling BMOCoreData NSPredicate+Utils.swift
[52/58] Compiling BMOCoreData NSManagedObject+BMO.swift
[53/58] Compiling BMOCoreData NSManagedObjectContext+BMO.swift
[54/59] Compiling BMOCoreData RemoteFetchType.swift
[55/59] Compiling BMOCoreData BMOCoreDataFetchRequestHelper.swift
[56/59] Compiling BMOCoreData BMOCoreDataSaveRequestHelper.swift
[57/59] Emitting module BMOCoreData
[58/59] Compiling BMOCoreData  Errors.swift
[59/59] Compiling BMOCoreData BMOCoreDataImporter.swift
[60/64] Compiling BMOCoreDataCollectionLoaders BMORequestHelperForLoader.swift
[61/64] Compiling BMOCoreDataCollectionLoaders DummyFetchedResultsControllerDelegate.swift
[62/64] Compiling BMOCoreDataCollectionLoaders BMOCoreDataListElementLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/BMOCoreDataCollectionLoaders/BMOCoreDataListElementLoader.swift:176:10: warning: TODO: We detect the root object ID has changed, we set the new one just after the if, but we do not update the fetched results controller…
174 |
175 | 				if let curRootObjectID = self.listElementObjectID, curRootObjectID != root.objectID {
176 | #warning("TODO: We detect the root object ID has changed, we set the new one just after the if, but we do not update the fetched results controller…")
    |          `- warning: TODO: We detect the root object ID has changed, we set the new one just after the if, but we do not update the fetched results controller…
177 | 					if #available(tvOS 10.0, iOS 10.0, watchOS 3.0, *) {
178 | //						BMOConfig.oslog.flatMap{ os_log("Got different root object id from a result of a request for a list element collection loader helper than previous one. Replacing with new one. Previous: %{public}@; retrieved: %{public}@", log: $0, type: .info, curRootObjectID, root.objectID) }
[63/64] Emitting module BMOCoreDataCollectionLoaders
[64/64] Compiling BMOCoreDataCollectionLoaders BMOCoreDataSearchLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/BMOCoreDataCollectionLoaders/BMOCoreDataSearchLoader.swift:132:10: warning: TODO: apiOrderProperty (requires the start offset of the page info…)
130 | 					/* If we have an API order property, it is time to set its value. */
131 | 					if let orderProperty = apiOrderProperty?.name {
132 | #warning("TODO: apiOrderProperty (requires the start offset of the page info…)")
    |          `- warning: TODO: apiOrderProperty (requires the start offset of the page info…)
133 | 						o.setValue(1, forKey: orderProperty)
134 | 					}
/Users/admin/builder/spi-builder-workspace/Sources/BMOCoreDataCollectionLoaders/BMOCoreDataSearchLoader.swift:123:50: warning: capture 'apiOrderDelta' was never used
121 | 		let helper = BMORequestHelperForLoader<FetchedObject, Bridge.Metadata>(
122 | 			loadingOperationDelegate: delegate,
123 | 			importChangesProcessing: { [apiOrderProperty, apiOrderDelta] changes, throwIfCancelled in
    |                                                  `- warning: capture 'apiOrderDelta' was never used
124 | 				try changes.importedObjects.compactMap{
125 | 					try throwIfCancelled()
Build complete! (10.08s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "bmo",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Frizlab/BMO.git"
    }
  ],
  "manifest_display_name" : "CollectionLoader",
  "name" : "CollectionLoader",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "CollectionLoader",
      "targets" : [
        "CollectionLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "BMOCoreDataCollectionLoaders",
      "targets" : [
        "BMOCoreDataCollectionLoaders"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CollectionLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "CollectionLoaderTests",
      "path" : "Tests/CollectionLoaderTests",
      "sources" : [
        "CollectionLoaderTests.swift"
      ],
      "target_dependencies" : [
        "CollectionLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CollectionLoader",
      "module_type" : "SwiftTarget",
      "name" : "CollectionLoader",
      "path" : "Sources/CollectionLoader",
      "product_memberships" : [
        "CollectionLoader",
        "BMOCoreDataCollectionLoaders"
      ],
      "sources" : [
        "Core/CollectionLoader.swift",
        "Core/CollectionLoaderDelegate.swift",
        "Core/CollectionLoaderHelper-Protocol.swift",
        "Core/PageInfo-Protocol.swift",
        "Core/PageInfoRetriever-Protocol.swift",
        "Helpers/ConcurrentLoadBehavior.swift",
        "Helpers/LoadingOperationDelegate.swift",
        "Helpers/PageLoadDescription.swift",
        "Helpers/PageLoadReason.swift",
        "Private/BlockCollectionLoaderDelegate.swift",
        "Private/Operation+Utils.swift",
        "Private/PageLoadDescription.Reason+Utils.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "BMOCoreDataCollectionLoaders",
      "module_type" : "SwiftTarget",
      "name" : "BMOCoreDataCollectionLoaders",
      "path" : "Sources/BMOCoreDataCollectionLoaders",
      "product_dependencies" : [
        "BMOCoreData"
      ],
      "product_memberships" : [
        "BMOCoreDataCollectionLoaders"
      ],
      "sources" : [
        "BMOCoreDataListElementLoader.swift",
        "BMOCoreDataSearchLoader.swift",
        "DummyFetchedResultsControllerDelegate.swift",
        "PrivateUtils/BMORequestHelperForLoader.swift"
      ],
      "target_dependencies" : [
        "CollectionLoader"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.