Build Information
Successful build of Ifrit, reference v2.0.3 (e610cd
), with Swift 6.0 for macOS (SPM) on 5 Nov 2024 14:44:59 UTC.
Swift 6 data race errors: 4
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/ukushu/Ifrit.git
Reference: v2.0.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ukushu/Ifrit
* tag v2.0.3 -> FETCH_HEAD
HEAD is now at e610cdf CHANGELOG.md
Cloned https://github.com/ukushu/Ifrit.git
Revision (git rev-parse @):
e610cdf4eddec1e76a9c7ae5db37738c7f73150b
SUCCESS checkout https://github.com/ukushu/Ifrit.git at v2.0.3
========================================
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": "ifrit",
"name": "Ifrit",
"url": "https://github.com/ukushu/Ifrit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Ifrit",
"dependencies": [
]
}
]
}
Fetching https://github.com/ukushu/Ifrit.git
[1/705] Fetching ifrit
Fetched https://github.com/ukushu/Ifrit.git from cache (1.11s)
Creating working copy for https://github.com/ukushu/Ifrit.git
Working copy of https://github.com/ukushu/Ifrit.git resolved at v2.0.3 (e610cdf)
warning: '.resolve-product-dependencies': dependency 'ifrit' 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/ukushu/Ifrit.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/6] Write sources
[1/6] Write swift-version--7754E27361AE5C74.txt
[3/22] Compiling Ifrit FuzzyResultSegment.swift
[4/22] Compiling Ifrit Score.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:14:23: warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
12 | }
13 |
14 | public static let defaultMatch: Score = 16
| |- warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMatch' 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
15 |
16 | public static let defaultMismatch: Score = 0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:16:23: warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
14 | public static let defaultMatch: Score = 16
15 |
16 | public static let defaultMismatch: Score = 0
| |- warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMismatch' 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
17 |
18 | public static var defaultBoundary: Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:26:23: warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | }
25 |
26 | public static var defaultFirstCharBonusMultiplier: Int = 2
| |- warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultFirstCharBonusMultiplier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultFirstCharBonusMultiplier' 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
27 |
28 | public static func defaultGapPenalty(_ n: Int) -> Score {
[5/23] Compiling Ifrit Fuzzy.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:14:23: warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
12 | }
13 |
14 | public static let defaultMatch: Score = 16
| |- warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMatch' 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
15 |
16 | public static let defaultMismatch: Score = 0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:16:23: warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
14 | public static let defaultMatch: Score = 16
15 |
16 | public static let defaultMismatch: Score = 0
| |- warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMismatch' 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
17 |
18 | public static var defaultBoundary: Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:26:23: warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | }
25 |
26 | public static var defaultFirstCharBonusMultiplier: Int = 2
| |- warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultFirstCharBonusMultiplier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultFirstCharBonusMultiplier' 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
27 |
28 | public static func defaultGapPenalty(_ n: Int) -> Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/FuzzyResult.swift:28:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct FuzzyResult {
| `- note: consider making struct 'FuzzyResult' conform to the 'Sendable' protocol
8 | public let segments: [FuzzyResultSegment]
9 |
:
26 | }
27 |
28 | static let empty: FuzzyResult = FuzzyResult(segments: [])
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'empty' 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
29 |
30 | func reversed() -> FuzzyResult {
[6/23] Compiling Ifrit FuzzyResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:14:23: warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
12 | }
13 |
14 | public static let defaultMatch: Score = 16
| |- warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMatch' 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
15 |
16 | public static let defaultMismatch: Score = 0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:16:23: warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
14 | public static let defaultMatch: Score = 16
15 |
16 | public static let defaultMismatch: Score = 0
| |- warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMismatch' 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
17 |
18 | public static var defaultBoundary: Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:26:23: warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | }
25 |
26 | public static var defaultFirstCharBonusMultiplier: Int = 2
| |- warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultFirstCharBonusMultiplier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultFirstCharBonusMultiplier' 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
27 |
28 | public static func defaultGapPenalty(_ n: Int) -> Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/FuzzyResult.swift:28:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct FuzzyResult {
| `- note: consider making struct 'FuzzyResult' conform to the 'Sendable' protocol
8 | public let segments: [FuzzyResultSegment]
9 |
:
26 | }
27 |
28 | static let empty: FuzzyResult = FuzzyResult(segments: [])
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'empty' 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
29 |
30 | func reversed() -> FuzzyResult {
[7/23] Compiling Ifrit Levenstain.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:14:23: warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
12 | }
13 |
14 | public static let defaultMatch: Score = 16
| |- warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMatch' 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
15 |
16 | public static let defaultMismatch: Score = 0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:16:23: warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
14 | public static let defaultMatch: Score = 16
15 |
16 | public static let defaultMismatch: Score = 0
| |- warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMismatch' 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
17 |
18 | public static var defaultBoundary: Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:26:23: warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | }
25 |
26 | public static var defaultFirstCharBonusMultiplier: Int = 2
| |- warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultFirstCharBonusMultiplier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultFirstCharBonusMultiplier' 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
27 |
28 | public static func defaultGapPenalty(_ n: Int) -> Score {
[8/23] Compiling Ifrit Fuse+ArrObjects.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:70:42: warning: capture of 'chunk' with non-sendable type 'ArraySlice<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | /// instructions how to use: https://github.com/ukushu/Ifrit/blob/main/Docs/FuseInstructions.md
51 | ///
52 | public func search<T>(_ text: String, in aList: [T],
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
53 | by keyPath: KeyPath<T, [FuseProp]>,
54 | chunkSize: Int = 100,
:
68 |
69 | self.searchQueue.async {
70 | for (index, item) in chunk.enumerated() {
| `- warning: capture of 'chunk' with non-sendable type 'ArraySlice<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 | var scores = [Double]()
72 | var totalScore = 0.0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:76:39: warning: capture of 'keyPath' with non-sendable type 'KeyPath<T, [FuseProp]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 | var propertyResults = [(value: String, diffScore: Double, ranges: [CountableClosedRange<Int>])]()
75 |
76 | item[keyPath: keyPath].forEach { property in
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<T, [FuseProp]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:45: warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:57: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:45: warning: capture of 'self' with non-sendable type 'Fuse' in an isolated closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in an isolated closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:57: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in an isolated closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in an isolated closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:95:25: warning: mutation of captured var 'collectionResult' in concurrently-executing code; this is an error in the Swift 6 language mode
93 |
94 | resultLock.lock()
95 | collectionResult.append((
| `- warning: mutation of captured var 'collectionResult' in concurrently-executing code; this is an error in the Swift 6 language mode
96 | index: chunkIndex * chunkSize + index,
97 | diffScore: totalScore / Double(scores.count),
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:110:17: warning: capture of 'completion' with non-sendable type '([FuzzySrchResult]) -> Void' (aka '(Array<(index: Int, diffScore: Double, results: Array<(value: String, diffScore: Double, ranges: Array<ClosedRange<Int>>)>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
109 | DispatchQueue.main.async {
110 | completion(sorted)
| |- warning: capture of 'completion' with non-sendable type '([FuzzySrchResult]) -> Void' (aka '(Array<(index: Int, diffScore: Double, results: Array<(value: String, diffScore: Double, ranges: Array<ClosedRange<Int>>)>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:61:37: warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | self.searchQueue.async {
60 | for (index, item) in chunk.enumerated() {
61 | if let result = self.search(pattern, in: item) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:61:49: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | self.searchQueue.async {
60 | for (index, item) in chunk.enumerated() {
61 | if let result = self.search(pattern, in: item) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:63:25: warning: mutation of captured var 'items' in concurrently-executing code; this is an error in the Swift 6 language mode
61 | if let result = self.search(pattern, in: item) {
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
| `- warning: mutation of captured var 'items' in concurrently-executing code; this is an error in the Swift 6 language mode
64 | itemsLock.unlock()
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:75:17: warning: capture of 'completion' with non-sendable type '([SrchDetails]) -> Void' (aka '(Array<(index: Int, diffScore: Double, ranges: Array<ClosedRange<Int>>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
75 | completion(sorted)
| |- warning: capture of 'completion' with non-sendable type '([SrchDetails]) -> Void' (aka '(Array<(index: Int, diffScore: Double, ranges: Array<ClosedRange<Int>>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | }
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:110:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
108 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
109 | DispatchQueue.main.async {
110 | completion(sorted)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:75:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
75 | completion(sorted)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | }
77 | }
[9/23] Compiling Ifrit Fuse+ArrStrings.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:70:42: warning: capture of 'chunk' with non-sendable type 'ArraySlice<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
50 | /// instructions how to use: https://github.com/ukushu/Ifrit/blob/main/Docs/FuseInstructions.md
51 | ///
52 | public func search<T>(_ text: String, in aList: [T],
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
53 | by keyPath: KeyPath<T, [FuseProp]>,
54 | chunkSize: Int = 100,
:
68 |
69 | self.searchQueue.async {
70 | for (index, item) in chunk.enumerated() {
| `- warning: capture of 'chunk' with non-sendable type 'ArraySlice<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 | var scores = [Double]()
72 | var totalScore = 0.0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:76:39: warning: capture of 'keyPath' with non-sendable type 'KeyPath<T, [FuseProp]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 | var propertyResults = [(value: String, diffScore: Double, ranges: [CountableClosedRange<Int>])]()
75 |
76 | item[keyPath: keyPath].forEach { property in
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<T, [FuseProp]>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:45: warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:57: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:45: warning: capture of 'self' with non-sendable type 'Fuse' in an isolated closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in an isolated closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:79:57: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in an isolated closure; this is an error in the Swift 6 language mode
77 | let value = property.value
78 |
79 | if let result = self.search(pattern, in: value) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in an isolated closure; this is an error in the Swift 6 language mode
80 | let weight = property.weight == 1 ? 1 : 1 - property.weight
81 | let score = result.score * weight
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:95:25: warning: mutation of captured var 'collectionResult' in concurrently-executing code; this is an error in the Swift 6 language mode
93 |
94 | resultLock.lock()
95 | collectionResult.append((
| `- warning: mutation of captured var 'collectionResult' in concurrently-executing code; this is an error in the Swift 6 language mode
96 | index: chunkIndex * chunkSize + index,
97 | diffScore: totalScore / Double(scores.count),
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:110:17: warning: capture of 'completion' with non-sendable type '([FuzzySrchResult]) -> Void' (aka '(Array<(index: Int, diffScore: Double, results: Array<(value: String, diffScore: Double, ranges: Array<ClosedRange<Int>>)>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
109 | DispatchQueue.main.async {
110 | completion(sorted)
| |- warning: capture of 'completion' with non-sendable type '([FuzzySrchResult]) -> Void' (aka '(Array<(index: Int, diffScore: Double, results: Array<(value: String, diffScore: Double, ranges: Array<ClosedRange<Int>>)>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:61:37: warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | self.searchQueue.async {
60 | for (index, item) in chunk.enumerated() {
61 | if let result = self.search(pattern, in: item) {
| `- warning: capture of 'self' with non-sendable type 'Fuse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:5:14: note: class 'Fuse' does not conform to the 'Sendable' protocol
3 | import Foundation
4 |
5 | public class Fuse {
| `- note: class 'Fuse' does not conform to the 'Sendable' protocol
6 | internal var location: Int
7 | internal var distance: Int
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:61:49: warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
59 | self.searchQueue.async {
60 | for (index, item) in chunk.enumerated() {
61 | if let result = self.search(pattern, in: item) {
| `- warning: capture of 'pattern' with non-sendable type 'Fuse.Pattern?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse.swift:50:12: note: consider making struct 'Pattern' conform to the 'Sendable' protocol
48 |
49 | public extension Fuse {
50 | struct Pattern {
| `- note: consider making struct 'Pattern' conform to the 'Sendable' protocol
51 | let text: String
52 | var len: Int { text.count }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:63:25: warning: mutation of captured var 'items' in concurrently-executing code; this is an error in the Swift 6 language mode
61 | if let result = self.search(pattern, in: item) {
62 | itemsLock.lock()
63 | items.append((chunkIndex * chunkSize + index, result.score, result.ranges))
| `- warning: mutation of captured var 'items' in concurrently-executing code; this is an error in the Swift 6 language mode
64 | itemsLock.unlock()
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:75:17: warning: capture of 'completion' with non-sendable type '([SrchDetails]) -> Void' (aka '(Array<(index: Int, diffScore: Double, ranges: Array<ClosedRange<Int>>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
75 | completion(sorted)
| |- warning: capture of 'completion' with non-sendable type '([SrchDetails]) -> Void' (aka '(Array<(index: Int, diffScore: Double, ranges: Array<ClosedRange<Int>>)>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | }
77 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrObjects.swift:110:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
108 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
109 | DispatchQueue.main.async {
110 | completion(sorted)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse+/Fuse+ArrStrings.swift:75:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
75 | completion(sorted)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
76 | }
77 | }
[10/23] Compiling Ifrit Searchable.swift
[11/23] Compiling Ifrit Array+.swift
[12/23] Emitting module Ifrit
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:14:23: warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
12 | }
13 |
14 | public static let defaultMatch: Score = 16
| |- warning: static property 'defaultMatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMatch' 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
15 |
16 | public static let defaultMismatch: Score = 0
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:16:23: warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct Score: ExpressibleByIntegerLiteral {
| `- note: consider making struct 'Score' conform to the 'Sendable' protocol
8 | public let value: Int
9 |
:
14 | public static let defaultMatch: Score = 16
15 |
16 | public static let defaultMismatch: Score = 0
| |- warning: static property 'defaultMismatch' is not concurrency-safe because non-'Sendable' type 'Score' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultMismatch' 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
17 |
18 | public static var defaultBoundary: Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/Score.swift:26:23: warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
24 | }
25 |
26 | public static var defaultFirstCharBonusMultiplier: Int = 2
| |- warning: static property 'defaultFirstCharBonusMultiplier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultFirstCharBonusMultiplier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultFirstCharBonusMultiplier' 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
27 |
28 | public static func defaultGapPenalty(_ n: Int) -> Score {
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/FuzzyResult.swift:28:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct FuzzyResult {
| `- note: consider making struct 'FuzzyResult' conform to the 'Sendable' protocol
8 | public let segments: [FuzzyResultSegment]
9 |
:
26 | }
27 |
28 | static let empty: FuzzyResult = FuzzyResult(segments: [])
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'empty' 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
29 |
30 | func reversed() -> FuzzyResult {
[13/23] Compiling Ifrit Fuse+String.swift
[14/23] Compiling Ifrit Fuse.swift
[15/23] Compiling Ifrit FuseProp.swift
[16/23] Compiling Ifrit FuseUtilities.swift
[17/23] Compiling Ifrit String+Fuse.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/FuzzyResult.swift:28:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct FuzzyResult {
| `- note: consider making struct 'FuzzyResult' conform to the 'Sendable' protocol
8 | public let segments: [FuzzyResultSegment]
9 |
:
26 | }
27 |
28 | static let empty: FuzzyResult = FuzzyResult(segments: [])
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'empty' 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
29 |
30 | func reversed() -> FuzzyResult {
[18/23] Compiling Ifrit Alignment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Levenstain/FuzzyFind/FuzzyResult.swift:28:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
5 | import Foundation
6 |
7 | public struct FuzzyResult {
| `- note: consider making struct 'FuzzyResult' conform to the 'Sendable' protocol
8 | public let segments: [FuzzyResultSegment]
9 |
:
26 | }
27 |
28 | static let empty: FuzzyResult = FuzzyResult(segments: [])
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'FuzzyResult' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'empty' 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
29 |
30 | func reversed() -> FuzzyResult {
[19/23] Compiling Ifrit String+.swift
[19/23] Write Objects.LinkFileList
[21/23] Archiving libIfritStatic.a
[22/23] Linking libIfrit.dylib
Build complete! (14.05s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/Ifrit/Classes/Fuse_LICENSE
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Ifrit",
"name" : "Ifrit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "Ifrit",
"targets" : [
"Ifrit"
],
"type" : {
"library" : [
"dynamic"
]
}
},
{
"name" : "IfritStatic",
"targets" : [
"Ifrit"
],
"type" : {
"library" : [
"static"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "IfritTests",
"module_type" : "SwiftTarget",
"name" : "IfritTests",
"path" : "Tests",
"sources" : [
"Ifrit_Documentation/IfritDoxCode_Fuse_Test.swift",
"Ifrit_Documentation/IfritDoxCode_Leve_Test.swift",
"Ifrit_FuseTests/Fuse_TestsBasic.swift",
"Ifrit_FuseTests/Fuse_TestsPerformance.swift",
"Ifrit_FuseTests/Fuse_TestsTokenize.swift",
"Ifrit_FuseTests/TestData.swift",
"Ifrit_Levenstain/Levenstain_Tests.swift",
"Ifrit_Levenstain/Levenstain_TestsCore.swift"
],
"target_dependencies" : [
"Ifrit"
],
"type" : "test"
},
{
"c99name" : "Ifrit",
"module_type" : "SwiftTarget",
"name" : "Ifrit",
"path" : "Sources/Ifrit",
"product_memberships" : [
"Ifrit",
"IfritStatic"
],
"sources" : [
"Classes/Fuse+/Fuse+ArrObjects.swift",
"Classes/Fuse+/Fuse+ArrStrings.swift",
"Classes/Fuse+/Fuse+String.swift",
"Classes/Fuse.swift",
"Classes/FuseProp.swift",
"Classes/FuseUtilities.swift",
"Classes/Searchable.swift",
"Exts/Array+.swift",
"Exts/String+Fuse.swift",
"Levenstain/FuzzyFind/Alignment.swift",
"Levenstain/FuzzyFind/Fuzzy.swift",
"Levenstain/FuzzyFind/FuzzyResult.swift",
"Levenstain/FuzzyFind/FuzzyResultSegment.swift",
"Levenstain/FuzzyFind/Score.swift",
"Levenstain/Levenstain.swift",
"Levenstain/String+.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.