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.0 for macOS (SPM) on 30 Nov 2024 06:10:09 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.1
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/2475] Fetching bmo
Fetched https://github.com/Frizlab/BMO.git from cache (1.10s)
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/630] Fetching collectionloader
Fetched https://github.com/Frizlab/CollectionLoader.git from cache (0.81s)
Fetching https://github.com/Frizlab/BMO.git from cache
Fetched https://github.com/Frizlab/BMO.git from cache (0.46s)
Creating working copy for https://github.com/Frizlab/CollectionLoader.git
Working copy of https://github.com/Frizlab/CollectionLoader.git resolved at main (99f6833)
Creating working copy for https://github.com/Frizlab/BMO.git
Working copy of https://github.com/Frizlab/BMO.git resolved at main (5d46c8b)
warning: '.resolve-product-dependencies': dependency 'collectionloader' is not used by any target
Found 1 product dependencies
  - BMO
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
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.1.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--7754E27361AE5C74.txt
[6/37] Compiling BMO Result+Utils.swift
[7/37] Compiling BMO DummyRequestHelper.swift
[8/39] Compiling BMO RelationshipMergeType.swift
[9/39] Compiling BMO MapError.swift
[10/39] Compiling CollectionLoader PageLoadReason.swift
[11/40] Compiling BMO RequestResult.swift
[12/40] Compiling BMO ErrorCollection.swift
[13/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
[14/40] Emitting module BMO
[15/40] Compiling CollectionLoader CollectionLoader.swift
[16/40] Compiling CollectionLoader CollectionLoaderDelegate.swift
[17/40] Compiling CollectionLoader CollectionLoaderHelper-Protocol.swift
[18/40] Compiling CollectionLoader Operation+Utils.swift
[19/40] Compiling BMO LocalDbImportOperation.swift
[20/40] Compiling BMO LocalDbImporter-Protocol.swift
[21/40] Compiling CollectionLoader PageInfo-Protocol.swift
[22/40] Compiling BMO Request.swift
[23/40] Compiling BMO RequestHelper-Protocol.swift
[24/40] Compiling BMO RequestOperation.swift
[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 CollectionLoader ConcurrentLoadBehavior.swift
[30/40] Compiling CollectionLoader PageInfoRetriever-Protocol.swift
[33/40] Compiling CollectionLoader LoadingOperationDelegate.swift
[34/40] Emitting module CollectionLoader
/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. */
/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. */
[37/40] Compiling CollectionLoader PageLoadDescription.swift
[38/40] Compiling CollectionLoader PageLoadDescription.Reason+Utils.swift
[39/40] Compiling BMO RequestHelperCollection.swift
[40/40] Compiling BMO RequestHelperCollectionForOldRuntimes.swift
[41/58] Compiling BMOCoreData NSFetchRequest+Utils.swift
[42/58] Compiling BMOCoreData NSManagedObject+Utils.swift
[43/59] Compiling BMOCoreData RemoteFetchType.swift
[44/59] Compiling BMOCoreData CoreDataAPI.swift
[45/59] Compiling BMOCoreData NSManagedObjectContext+Utils.swift
[46/59] Compiling BMOCoreData CoreDataAPI+Update-Discarded.swift
[47/59] Compiling BMOCoreData CoreDataAPI+Update-Saved.swift
[48/59] Compiling BMOCoreData NSPredicate+Utils.swift
[49/59] Compiling BMOCoreData NSManagedObject+BMO.swift
[50/59] Compiling BMOCoreData NSManagedObjectContext+BMO.swift
[51/59] Compiling BMOCoreData CoreDataAPI+Create.swift
[52/59] Compiling BMOCoreData CoreDataAPI+CreateAndGet.swift
[53/59] Compiling BMOCoreData CoreDataAPI+Delete.swift
[54/59] Compiling BMOCoreData CoreDataAPI+Fetch.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 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) }
[62/64] Compiling BMOCoreDataCollectionLoaders DummyFetchedResultsControllerDelegate.swift
[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! (32.20s)
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.