The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of PersistentCacheKit, reference 0.6.0 (cb3e35), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 08:36:24 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/davbeck/PersistentCacheKit.git
Reference: 0.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/davbeck/PersistentCacheKit
 * tag               0.6.0      -> FETCH_HEAD
HEAD is now at cb3e358 Add Sendable conformances
Cloned https://github.com/davbeck/PersistentCacheKit.git
Revision (git rev-parse @):
cb3e3587646574a7ee5a7b5016638a296b9f09b7
SUCCESS checkout https://github.com/davbeck/PersistentCacheKit.git at 0.6.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/davbeck/PersistentCacheKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/7] Compiling PersistentCacheKit SQLiteCacheStorage.swift
[4/7] Compiling PersistentCacheKit PersistentCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:63:9: warning: capture of non-sendable type 'Key.Type' in an isolated closure
 61 | 	public func clearMemoryCache(completion: (() -> Void)? = nil) {
 62 | 		self.queue.async(flags: .barrier) {
 63 | 			self.internalCache = [:]
    |         `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
 64 |
 65 | 			if let completion = completion {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:63:9: warning: capture of non-sendable type 'Value.Type' in an isolated closure
 61 | 	public func clearMemoryCache(completion: (() -> Void)? = nil) {
 62 | 		self.queue.async(flags: .barrier) {
 63 | 			self.internalCache = [:]
    |         `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
 64 |
 65 | 			if let completion = completion {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:61:14: warning: capture of non-sendable type 'Key.Type' in an isolated closure
 59 | 	}
 60 |
 61 | 	public func clearMemoryCache(completion: (() -> Void)? = nil) {
    |              `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
 62 | 		self.queue.async(flags: .barrier) {
 63 | 			self.internalCache = [:]
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:61:14: warning: capture of non-sendable type 'Value.Type' in an isolated closure
 59 | 	}
 60 |
 61 | 	public func clearMemoryCache(completion: (() -> Void)? = nil) {
    |              `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
 62 | 		self.queue.async(flags: .barrier) {
 63 | 			self.internalCache = [:]
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:123:23: warning: capture of non-sendable type 'Value.Type' in an isolated closure
121 |
122 | 			self.queue.async(flags: .barrier) {
123 | 				self.internalCache[key] = newValue
    |                       `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
124 |
125 | 				self.storage?[self.stringKey(for: key)] = data
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:123:5: warning: capture of non-sendable type 'Key.Type' in an isolated closure
121 |
122 | 			self.queue.async(flags: .barrier) {
123 | 				self.internalCache[key] = newValue
    |     `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
124 |
125 | 				self.storage?[self.stringKey(for: key)] = data
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:119:3: warning: capture of non-sendable type 'Key.Type' in an isolated closure
117 | 			}
118 | 		}
119 | 		set {
    |   `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
120 | 			let data = try? self.encoder.encode(newValue)
121 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:119:3: warning: capture of non-sendable type 'Value.Type' in an isolated closure
117 | 			}
118 | 		}
119 | 		set {
    |   `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
120 | 			let data = try? self.encoder.encode(newValue)
121 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:128:19: warning: capture of non-sendable type 'Key.Type' in an isolated closure
126 |
127 | 				DispatchQueue.global().async {
128 | 					self.updated.send((key, newValue?.value))
    |                   `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
129 | 				}
130 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:128:19: warning: capture of non-sendable type 'Value.Type' in an isolated closure
126 |
127 | 				DispatchQueue.global().async {
128 | 					self.updated.send((key, newValue?.value))
    |                   `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
129 | 				}
130 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:119:3: warning: capture of non-sendable type 'Key.Type' in an isolated closure
117 | 			}
118 | 		}
119 | 		set {
    |   `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
120 | 			let data = try? self.encoder.encode(newValue)
121 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:119:3: warning: capture of non-sendable type 'Value.Type' in an isolated closure
117 | 			}
118 | 		}
119 | 		set {
    |   `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
120 | 			let data = try? self.encoder.encode(newValue)
121 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:158:20: warning: capture of non-sendable type 'Key.Type' in an isolated closure
156 | 			} else {
157 | 				self.queue.async {
158 | 					if let data = self.storage?[self.stringKey(for: key)], let item = try? self.decoder.decode(Item<Value>.self, from: data) {
    |                    `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
159 | 						queue.async {
160 | 							completion(item.value)
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:158:20: warning: capture of non-sendable type 'Value.Type' in an isolated closure
156 | 			} else {
157 | 				self.queue.async {
158 | 					if let data = self.storage?[self.stringKey(for: key)], let item = try? self.decoder.decode(Item<Value>.self, from: data) {
    |                    `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
159 | 						queue.async {
160 | 							completion(item.value)
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:152:15: warning: capture of non-sendable type 'Key.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func _fetch(_ key: Key, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
153 | 		self.queue.sync {
154 | 			if let item = self.internalCache[key], item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:152:15: warning: capture of non-sendable type 'Value.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func _fetch(_ key: Key, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
153 | 		self.queue.sync {
154 | 			if let item = self.internalCache[key], item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:160:8: warning: capture of non-sendable type 'Value.Type' in an isolated closure
158 | 					if let data = self.storage?[self.stringKey(for: key)], let item = try? self.decoder.decode(Item<Value>.self, from: data) {
159 | 						queue.async {
160 | 							completion(item.value)
    |        `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
161 | 						}
162 | 					} else {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:152:90: warning: capture of non-sendable type 'Value.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func _fetch(_ key: Key, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |                                                                                          `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
153 | 		self.queue.sync {
154 | 			if let item = self.internalCache[key], item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:164:31: warning: capture of non-sendable type 'Value.Type' in an isolated closure
162 | 					} else {
163 | 						queue.async {
164 | 							if let value = fallback?() {
    |                               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
165 | 								self[key] = value
166 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:152:64: warning: capture of non-sendable type 'Value.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func _fetch(_ key: Key, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |                                                                `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
153 | 		self.queue.sync {
154 | 			if let item = self.internalCache[key], item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:165:9: warning: capture of non-sendable type 'Key.Type' in an isolated closure
163 | 						queue.async {
164 | 							if let value = fallback?() {
165 | 								self[key] = value
    |         `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
166 |
167 | 								completion(value)
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/PersistentCache.swift:152:15: warning: capture of non-sendable type 'Key.Type' in an isolated closure
150 | 	}
151 |
152 | 	private func _fetch(_ key: Key, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
153 | 		self.queue.sync {
154 | 			if let item = self.internalCache[key], item.isValid {
[5/7] Emitting module PersistentCacheKit
[6/7] Compiling PersistentCacheKit SQLite.swift
[7/7] Compiling PersistentCacheKit MixedPersistentCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:103:29: warning: capture of non-sendable type 'Value.Type' in an isolated closure
101 |
102 | 			self.queue.async(flags: .barrier) {
103 | 				self.internalCache[self.stringKey(for: key)] = newValue
    |                             `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
104 |
105 | 				self.storage?[self.stringKey(for: key)] = data
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:87:31: warning: capture of non-sendable type 'Value.Type' in an isolated closure
 85 | 	}
 86 |
 87 | 	public subscript<Value>(item key: Key<Value>) -> Item<Value>? {
    |                               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
 88 | 		get {
 89 | 			self.queue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:108:25: warning: capture of non-sendable type 'Value.Type' in an isolated closure
106 |
107 | 				DispatchQueue.global().async {
108 | 					self.updated.send((key.rawValue, newValue?.value))
    |                         `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
109 | 				}
110 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:87:31: warning: capture of non-sendable type 'Value.Type' in an isolated closure
 85 | 	}
 86 |
 87 | 	public subscript<Value>(item key: Key<Value>) -> Item<Value>? {
    |                               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
 88 | 		get {
 89 | 			self.queue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:138:39: warning: capture of non-sendable type 'Value.Type' in an isolated closure
136 | 			} else {
137 | 				self.queue.async {
138 | 					if let data = self.storage?[self.stringKey(for: key)], let item = try? self.decoder.decode(Item<Value>.self, from: data) {
    |                                       `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
139 | 						queue.async {
140 | 							completion(item.value)
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:132:31: warning: capture of non-sendable type 'Value.Type' in an isolated closure
130 | 	}
131 |
132 | 	private func _fetch<Value>(_ key: Key<Value>, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |                               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
133 | 		self.queue.sync {
134 | 			if let item = self.internalCache[stringKey(for: key)] as? Item<Value>, item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:140:8: warning: capture of non-sendable type 'Value.Type' in an isolated closure
138 | 					if let data = self.storage?[self.stringKey(for: key)], let item = try? self.decoder.decode(Item<Value>.self, from: data) {
139 | 						queue.async {
140 | 							completion(item.value)
    |        `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
141 | 						}
142 | 					} else {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:132:104: warning: capture of non-sendable type 'Value.Type' in an isolated closure
130 | 	}
131 |
132 | 	private func _fetch<Value>(_ key: Key<Value>, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |                                                                                                        `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
133 | 		self.queue.sync {
134 | 			if let item = self.internalCache[stringKey(for: key)] as? Item<Value>, item.isValid {
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:144:31: warning: capture of non-sendable type 'Value.Type' in an isolated closure
142 | 					} else {
143 | 						queue.async {
144 | 							if let value = fallback?() {
    |                               `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
145 | 								self[key] = value
146 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentCacheKit/MixedPersistentCache.swift:132:78: warning: capture of non-sendable type 'Value.Type' in an isolated closure
130 | 	}
131 |
132 | 	private func _fetch<Value>(_ key: Key<Value>, queue: DispatchQueue = .main, fallback: (() -> Value)?, completion: @escaping (Value?) -> Void) {
    |                                                                              `- warning: capture of non-sendable type 'Value.Type' in an isolated closure
133 | 		self.queue.sync {
134 | 			if let item = self.internalCache[stringKey(for: key)] as? Item<Value>, item.isValid {
Build complete! (3.64s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PersistentCacheKit",
  "name" : "PersistentCacheKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "PersistentCacheKit",
      "targets" : [
        "PersistentCacheKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PersistentCacheKitTests",
      "module_type" : "SwiftTarget",
      "name" : "PersistentCacheKitTests",
      "path" : "Tests/PersistentCacheKitTests",
      "sources" : [
        "PersistentCacheKitTests.swift"
      ],
      "target_dependencies" : [
        "PersistentCacheKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PersistentCacheKit",
      "module_type" : "SwiftTarget",
      "name" : "PersistentCacheKit",
      "path" : "Sources/PersistentCacheKit",
      "product_memberships" : [
        "PersistentCacheKit"
      ],
      "sources" : [
        "MixedPersistentCache.swift",
        "PersistentCache.swift",
        "SQLite.swift",
        "SQLiteCacheStorage.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.