Build Information
Successful build of Carlos, reference master (26ca89
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 09:38:30 UTC.
Swift 6 data race errors: 6
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
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/spring-media/Carlos.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/spring-media/Carlos
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 26ca894 Merge pull request #196 from spring-media/feature/migrate-to-action
Cloned https://github.com/spring-media/Carlos.git
Revision (git rev-parse @):
26ca894e3cef48a15b6da20803c31e5386ac45bd
SUCCESS checkout https://github.com/spring-media/Carlos.git at master
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetching https://github.com/mattgallagher/CwlCatchException.git
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/Quick/Nimble.git
[1/455] Fetching cwlcatchexception
[6/1712] Fetching cwlcatchexception, cwlpreconditiontesting
[1072/16435] Fetching cwlcatchexception, cwlpreconditiontesting, quick
[16436/35653] Fetching cwlcatchexception, cwlpreconditiontesting, quick, nimble
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (5.09s)
Fetched https://github.com/Quick/Quick.git from cache (5.09s)
Fetched https://github.com/Quick/Nimble.git from cache (5.09s)
Computing version for https://github.com/Quick/Nimble.git
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (5.09s)
Computed https://github.com/Quick/Nimble.git at 9.2.1 (0.65s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 4.0.0 (0.65s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.1.0 (0.63s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.1 (0.62s)
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 4.0.0
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 9.2.1
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.1.0
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.1.1
========================================
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": "carlos",
"name": "Carlos",
"url": "https://github.com/spring-media/Carlos.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Carlos",
"dependencies": [
]
}
]
}
Fetching https://github.com/spring-media/Carlos.git
[1/5608] Fetching carlos
Fetched https://github.com/spring-media/Carlos.git from cache (1.68s)
Creating working copy for https://github.com/spring-media/Carlos.git
Working copy of https://github.com/spring-media/Carlos.git resolved at master (26ca894)
warning: '.resolve-product-dependencies': dependency 'carlos' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/spring-media/Carlos.git
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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/39] Emitting module Carlos
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:24:9: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
22 | didSet {
23 | cacheQueue.async {
24 | self.controlCapacity()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:6:21: warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
4 | public enum CacheProvider {
5 | /// A shared data cache instance
6 | public static let sharedDataCache: BasicCache<URL, NSData> = CacheProvider.dataCache()
| |- warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedDataCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// A shared JSON cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:9:21: warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// A shared JSON cache instance
9 | public static let sharedJSONCache: BasicCache<URL, AnyObject> = CacheProvider.JSONCache()
| |- warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedJSONCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// A shared image cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:12:21: warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// A shared image cache instance
12 | public static let sharedImageCache: BasicCache<URL, CarlosImage> = CacheProvider.imageCache()
| |- warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedImageCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// - Returns: An initialized and configured CacheLevel that takes URL keys and stores NSData values.
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:18:21: warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | Called to output the log message. Override for custom logging.
17 | */
18 | public static var output: (String, Level) -> Void = { msg, level in
| |- warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'output' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:20:25: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
18 | public static var output: (String, Level) -> Void = { msg, level in
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | }
22 | }
[4/43] Compiling Carlos StringConvertible.swift
[5/43] Compiling Carlos UnfairLock.swift
[6/43] Compiling Carlos CacheLevel+Batch.swift
[7/43] Compiling Carlos KeyTransformation.swift
[8/43] Compiling Carlos Normalize.swift
[9/43] Compiling Carlos PostProcess.swift
[10/43] Compiling Carlos SwitchCache.swift
[11/43] Compiling Carlos ValueTransformation.swift
[12/43] Compiling Carlos BatchAllCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:24:9: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
22 | didSet {
23 | cacheQueue.async {
24 | self.controlCapacity()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:57:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
55 |
56 | cacheQueue.async {
57 | self.calculateSize()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.controlCapacity()
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:100:42: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
98 |
99 | if let data = try? Data(contentsOf: URL(fileURLWithPath: path)),
100 | let obj = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? T
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
101 | {
102 | Logger.log("DiskCacheLevel| Fetched \(key.toString()) on disk level", .info)
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:150:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
148 | public func clear() {
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:151:18: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
152 | }
153 | self.calculateSize()
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:45: warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
[13/43] Compiling Carlos Composed.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:24:9: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
22 | didSet {
23 | cacheQueue.async {
24 | self.controlCapacity()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:57:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
55 |
56 | cacheQueue.async {
57 | self.calculateSize()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.controlCapacity()
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:100:42: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
98 |
99 | if let data = try? Data(contentsOf: URL(fileURLWithPath: path)),
100 | let obj = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? T
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
101 | {
102 | Logger.log("DiskCacheLevel| Fetched \(key.toString()) on disk level", .info)
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:150:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
148 | public func clear() {
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:151:18: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
152 | }
153 | self.calculateSize()
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:45: warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
[14/43] Compiling Carlos Conditioned.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:24:9: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
22 | didSet {
23 | cacheQueue.async {
24 | self.controlCapacity()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:57:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
55 |
56 | cacheQueue.async {
57 | self.calculateSize()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.controlCapacity()
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:100:42: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
98 |
99 | if let data = try? Data(contentsOf: URL(fileURLWithPath: path)),
100 | let obj = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? T
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
101 | {
102 | Logger.log("DiskCacheLevel| Fetched \(key.toString()) on disk level", .info)
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:150:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
148 | public func clear() {
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:151:18: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
152 | }
153 | self.calculateSize()
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:45: warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
[15/43] Compiling Carlos DiskCacheLevel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:24:9: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
22 | didSet {
23 | cacheQueue.async {
24 | self.controlCapacity()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:57:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
55 |
56 | cacheQueue.async {
57 | self.calculateSize()
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | self.controlCapacity()
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:100:42: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
98 |
99 | if let data = try? Data(contentsOf: URL(fileURLWithPath: path)),
100 | let obj = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? T
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
101 | {
102 | Logger.log("DiskCacheLevel| Fetched \(key.toString()) on disk level", .info)
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:150:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
148 | public func clear() {
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:151:18: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
149 | cacheQueue.async {
150 | self.itemsInDirectory(self.path).forEach { filePath in
151 | _ = try? self.fileManager.removeItem(atPath: filePath)
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in an isolated closure; this is an error in the Swift 6 language mode
152 | }
153 | self.calculateSize()
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:7: warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: generic class 'DiskCacheLevel' does not conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'self' with non-sendable type 'DiskCacheLevel<K, T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/DiskCacheLevel.swift:161:45: warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
7 |
8 | /// This class is a disk cache level. It has a configurable total size that defaults to 100 MB.
9 | public final class DiskCacheLevel<K: StringConvertible, T: NSCoding>: CacheLevel {
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
10 | /// At the moment the disk cache level only accepts keys that can be converted to string values
11 | public typealias KeyType = K
:
159 | private func removeData(_ key: K) {
160 | cacheQueue.async {
161 | self.removeFileAtPath(self.pathForKey(key))
| `- warning: capture of 'key' with non-sendable type 'K' in a `@Sendable` closure; this is an error in the Swift 6 language mode
162 | }
163 | }
[16/43] Compiling Carlos FetcherValueTransformation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:18:21: warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | Called to output the log message. Override for custom logging.
17 | */
18 | public static var output: (String, Level) -> Void = { msg, level in
| |- warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'output' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:20:25: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
18 | public static var output: (String, Level) -> Void = { msg, level in
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'level' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
34 | }
35 | }
[17/43] Compiling Carlos FunctionComposition.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:18:21: warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | Called to output the log message. Override for custom logging.
17 | */
18 | public static var output: (String, Level) -> Void = { msg, level in
| |- warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'output' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:20:25: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
18 | public static var output: (String, Level) -> Void = { msg, level in
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'level' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
34 | }
35 | }
[18/43] Compiling Carlos Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:18:21: warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | Called to output the log message. Override for custom logging.
17 | */
18 | public static var output: (String, Level) -> Void = { msg, level in
| |- warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'output' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:20:25: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
18 | public static var output: (String, Level) -> Void = { msg, level in
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'level' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
34 | }
35 | }
[19/43] Compiling Carlos MemoryWarning.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:18:21: warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | Called to output the log message. Override for custom logging.
17 | */
18 | public static var output: (String, Level) -> Void = { msg, level in
| |- warning: static property 'output' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'output' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'output' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:20:25: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
18 | public static var output: (String, Level) -> Void = { msg, level in
19 | queue.async {
20 | print("[Carlos][\(level.rawValue)]: \(msg)")
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | }
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 | public final class Logger {
5 | /// The level of the logged message
6 | public enum Level: String {
| `- note: consider making enum 'Level' conform to the 'Sendable' protocol
7 | case debug = "Debug"
8 | case info = "Info"
:
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| `- warning: capture of 'level' with non-sendable type 'Logger.Level' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/Logger.swift:33:28: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
31 | public static func log(_ message: String, _ level: Level = Level.debug) {
32 | DispatchQueue.main.async {
33 | self.output(message, level)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'level' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
34 | }
35 | }
[20/43] Compiling Carlos ComposedOneWayTransformer.swift
[21/43] Compiling Carlos ComposedTwoWayTransformer.swift
[22/43] Compiling Carlos ConditionedOneWayTransformer.swift
[23/43] Compiling Carlos ConditionedOutputProcessing.swift
[24/43] Compiling Carlos PoolCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:6:21: warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
4 | public enum CacheProvider {
5 | /// A shared data cache instance
6 | public static let sharedDataCache: BasicCache<URL, NSData> = CacheProvider.dataCache()
| |- warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedDataCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// A shared JSON cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:9:21: warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// A shared JSON cache instance
9 | public static let sharedJSONCache: BasicCache<URL, AnyObject> = CacheProvider.JSONCache()
| |- warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedJSONCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// A shared image cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:12:21: warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// A shared image cache instance
12 | public static let sharedImageCache: BasicCache<URL, CarlosImage> = CacheProvider.imageCache()
| |- warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedImageCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// - Returns: An initialized and configured CacheLevel that takes URL keys and stores NSData values.
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
[25/43] Compiling Carlos CacheProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:6:21: warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
4 | public enum CacheProvider {
5 | /// A shared data cache instance
6 | public static let sharedDataCache: BasicCache<URL, NSData> = CacheProvider.dataCache()
| |- warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedDataCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// A shared JSON cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:9:21: warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// A shared JSON cache instance
9 | public static let sharedJSONCache: BasicCache<URL, AnyObject> = CacheProvider.JSONCache()
| |- warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedJSONCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// A shared image cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:12:21: warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// A shared image cache instance
12 | public static let sharedImageCache: BasicCache<URL, CarlosImage> = CacheProvider.imageCache()
| |- warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedImageCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// - Returns: An initialized and configured CacheLevel that takes URL keys and stores NSData values.
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
[26/43] Compiling Carlos Carlos.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:6:21: warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
4 | public enum CacheProvider {
5 | /// A shared data cache instance
6 | public static let sharedDataCache: BasicCache<URL, NSData> = CacheProvider.dataCache()
| |- warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedDataCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// A shared JSON cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:9:21: warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// A shared JSON cache instance
9 | public static let sharedJSONCache: BasicCache<URL, AnyObject> = CacheProvider.JSONCache()
| |- warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedJSONCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// A shared image cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:12:21: warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// A shared image cache instance
12 | public static let sharedImageCache: BasicCache<URL, CarlosImage> = CacheProvider.imageCache()
| |- warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedImageCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// - Returns: An initialized and configured CacheLevel that takes URL keys and stores NSData values.
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
[27/43] Compiling Carlos BasicCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:6:21: warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
4 | public enum CacheProvider {
5 | /// A shared data cache instance
6 | public static let sharedDataCache: BasicCache<URL, NSData> = CacheProvider.dataCache()
| |- warning: static property 'sharedDataCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, NSData>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedDataCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// A shared JSON cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:9:21: warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// A shared JSON cache instance
9 | public static let sharedJSONCache: BasicCache<URL, AnyObject> = CacheProvider.JSONCache()
| |- warning: static property 'sharedJSONCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, AnyObject>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedJSONCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// A shared image cache instance
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheProvider.swift:12:21: warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// A shared image cache instance
12 | public static let sharedImageCache: BasicCache<URL, CarlosImage> = CacheProvider.imageCache()
| |- warning: static property 'sharedImageCache' is not concurrency-safe because non-'Sendable' type 'BasicCache<URL, CarlosImage>' (aka 'BasicCache<URL, NSImage>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sharedImageCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// - Returns: An initialized and configured CacheLevel that takes URL keys and stores NSData values.
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/Core/BasicCache.swift:5:20: note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
3 |
4 | /// A wrapper cache that explicitly takes get, set, clear and memory warning closures
5 | public final class BasicCache<A, B>: CacheLevel {
| `- note: generic class 'BasicCache' does not conform to the 'Sendable' protocol
6 | public typealias KeyType = A
7 | public typealias OutputType = B
[28/43] Compiling Carlos Fetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/NSUserDefaultsCacheLevel.swift:99:57: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
97 |
98 | if let cachedValue = self.safeInternalDomain[key.toString()] {
99 | if let unencodedObject = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(cachedValue) as? T {
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
100 | Logger.log("Fetched \(key.toString()) on user defaults level (domain \(self.domainName)")
101 | promise(.success(unencodedObject))
[29/43] Compiling Carlos MemoryCacheLevel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/NSUserDefaultsCacheLevel.swift:99:57: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
97 |
98 | if let cachedValue = self.safeInternalDomain[key.toString()] {
99 | if let unencodedObject = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(cachedValue) as? T {
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
100 | Logger.log("Fetched \(key.toString()) on user defaults level (domain \(self.domainName)")
101 | promise(.success(unencodedObject))
[30/43] Compiling Carlos NSUserDefaultsCacheLevel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/NSUserDefaultsCacheLevel.swift:99:57: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
97 |
98 | if let cachedValue = self.safeInternalDomain[key.toString()] {
99 | if let unencodedObject = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(cachedValue) as? T {
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
100 | Logger.log("Fetched \(key.toString()) on user defaults level (domain \(self.domainName)")
101 | promise(.success(unencodedObject))
[31/43] Compiling Carlos NetworkFetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Carlos/CacheLevels/NSUserDefaultsCacheLevel.swift:99:57: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
97 |
98 | if let cachedValue = self.safeInternalDomain[key.toString()] {
99 | if let unencodedObject = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(cachedValue) as? T {
| `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
100 | Logger.log("Fetched \(key.toString()) on user defaults level (domain \(self.domainName)")
101 | promise(.success(unencodedObject))
[32/43] Compiling Carlos BasicFetcher.swift
[33/43] Compiling Carlos Errors.swift
[34/43] Compiling Carlos ExpensiveObject.swift
[35/43] Compiling Carlos Extensions.swift
[36/43] Compiling Carlos ConditionedTwoWayTransformer.swift
[37/43] Compiling Carlos ConditionedValueTransformation.swift
[38/43] Compiling Carlos ImageTransformer.swift
[39/43] Compiling Carlos JSONTransformer.swift
[40/43] Compiling Carlos OneWayTransformer.swift
[41/43] Compiling Carlos StringTransformer.swift
[42/43] Compiling Carlos Transformers.swift
[43/43] Compiling Carlos TwoWayTransformer.swift
Build complete! (19.74s)
Build complete.
{
"dependencies" : [
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
},
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "9.2.0",
"upper_bound" : "10.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
}
],
"manifest_display_name" : "Carlos",
"name" : "Carlos",
"path" : "/Users/admin/builder/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" : "Carlos",
"targets" : [
"Carlos"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "CarlosTests",
"module_type" : "SwiftTarget",
"name" : "CarlosTests",
"path" : "Tests/CarlosTests",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"BasicCacheTests.swift",
"BasicFetcherTests.swift",
"BatchTests.swift",
"CacheProviderTests.swift",
"CompositionTests.swift",
"ConditionedCacheTests.swift",
"ConditionedOneWayTransformationBoxTests.swift",
"ConditionedOutputProcessingTests.swift",
"ConditionedTransformersTests.swift",
"ConditionedTwoWayTransformationBoxTests.swift",
"ConditionedValueTransformationTests.swift",
"DiskCacheTests.swift",
"Fakes/Base64EncodedImage.swift",
"Fakes/CacheLevelFake.swift",
"Fakes/FetcherFake.swift",
"FetcherValueTransformationTests.swift",
"ImageTransformerTests.swift",
"JSONTransformerTests.swift",
"KeyTransformationTests.swift",
"MKDistanceFormatterTransformerTests.swift",
"MemoryCacheLevelTests.swift",
"MemoryWarningNotificationTests.swift",
"NSDateFormatterTransformerTests.swift",
"NSNumberFormatterTransformerTests.swift",
"NSUserDefaultsCacheLevelTests.swift",
"NetworkFetcherTests.swift",
"NormalizationTests.swift",
"OneWayTransformationBoxTests.swift",
"OneWayTransformerCompositionTests.swift",
"PoolCacheTests.swift",
"PostProcessTests.swift",
"StringConvertibleTests.swift",
"StringTransformerTests.swift",
"SwitchCacheTests.swift",
"TwoWayTransformationBoxTests.swift",
"TwoWayTransformerCompositionTests.swift",
"ValueTransformationTests.swift"
],
"target_dependencies" : [
"Carlos"
],
"type" : "test"
},
{
"c99name" : "Carlos",
"module_type" : "SwiftTarget",
"name" : "Carlos",
"path" : "Sources/Carlos",
"product_memberships" : [
"Carlos"
],
"sources" : [
"CacheLevels/BatchAllCache.swift",
"CacheLevels/Composed.swift",
"CacheLevels/Conditioned.swift",
"CacheLevels/DiskCacheLevel.swift",
"CacheLevels/Fetcher.swift",
"CacheLevels/MemoryCacheLevel.swift",
"CacheLevels/NSUserDefaultsCacheLevel.swift",
"CacheLevels/NetworkFetcher.swift",
"CacheLevels/PoolCache.swift",
"CacheProvider.swift",
"Carlos.swift",
"Core/BasicCache.swift",
"Core/BasicFetcher.swift",
"Core/Errors.swift",
"Core/ExpensiveObject.swift",
"Core/Extensions.swift",
"Core/FetcherValueTransformation.swift",
"Core/FunctionComposition.swift",
"Core/Logger.swift",
"Core/MemoryWarning.swift",
"Core/StringConvertible.swift",
"Core/UnfairLock.swift",
"Operations/CacheLevel+Batch.swift",
"Operations/KeyTransformation.swift",
"Operations/Normalize.swift",
"Operations/PostProcess.swift",
"Operations/SwitchCache.swift",
"Operations/ValueTransformation.swift",
"Transformers/ComposedOneWayTransformer.swift",
"Transformers/ComposedTwoWayTransformer.swift",
"Transformers/ConditionedOneWayTransformer.swift",
"Transformers/ConditionedOutputProcessing.swift",
"Transformers/ConditionedTwoWayTransformer.swift",
"Transformers/ConditionedValueTransformation.swift",
"Transformers/ImageTransformer.swift",
"Transformers/JSONTransformer.swift",
"Transformers/OneWayTransformer.swift",
"Transformers/StringTransformer.swift",
"Transformers/Transformers.swift",
"Transformers/TwoWayTransformer.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
Done.