Build Information
Successful build of Tonic, reference main (8f103c
), with Swift 6.1 for Linux on 30 Apr 2025 04:13:12 UTC.
Swift 6 data race errors: 312
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:286:16: warning: static property 'dorianFlat5' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
284 |
285 | /// Dorian ♭5 scale
286 | static let dorianFlat5 = Scale(intervals: [.P1, .M2, .m3, .P4, .d5, .M6, .m7], description: "Dorian ♭5")
| |- warning: static property 'dorianFlat5' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dorianFlat5' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
287 |
288 | /// Phrygian ♭4 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:289:16: warning: static property 'phrygianFlat4' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
287 |
288 | /// Phrygian ♭4 scale
289 | static let phrygianFlat4 = Scale(intervals: [.P1, .m2, .m3, .M3, .P5, .m6, .m7], description: "Phrygian ♭4")
| |- warning: static property 'phrygianFlat4' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'phrygianFlat4' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
290 |
291 | /// Lydian ♭3 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:292:16: warning: static property 'lydianFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
290 |
291 | /// Lydian ♭3 scale
292 | static let lydianFlat3 = Scale(intervals: [.P1, .M2, .m3, .d5, .P5, .M6, .M7], description: "Lydian ♭3")
| |- warning: static property 'lydianFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'lydianFlat3' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
293 |
294 | /// Lydian ♭6 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:295:16: warning: static property 'lydianFlat6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
293 |
294 | /// Lydian ♭6 scale
295 | static let lydianFlat6 = Scale(intervals: [.P1, .M2, .M3, .d5, .P5, .m6, .m7], description: "Lydian ♭6")
| |- warning: static property 'lydianFlat6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'lydianFlat6' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 |
297 | /// Lydian ♯6 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:298:16: warning: static property 'lydianSharp6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
296 |
297 | /// Lydian ♯6 scale
298 | static let lydianSharp6 = Scale(intervals: [.P1, .M2, .M3, .d5, .P5, .m7, .M7], description: "Lydian ♯6")
| |- warning: static property 'lydianSharp6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'lydianSharp6' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
299 |
300 | /// Lydian ♯2 ♯6 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:301:16: warning: static property 'lydianSharp2Sharp6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
299 |
300 | /// Lydian ♯2 ♯6 scale
301 | static let lydianSharp2Sharp6 = Scale(intervals: [.P1, .m3, .M3, .d5, .P5, .m7, .M7], description: "Lydian ♯2 ♯6")
| |- warning: static property 'lydianSharp2Sharp6' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'lydianSharp2Sharp6' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
302 |
303 | /// Mixolydian ♭2 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:304:16: warning: static property 'mixolydianFlat2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
302 |
303 | /// Mixolydian ♭2 scale
304 | static let mixolydianFlat2 = Scale(intervals: [.P1, .m2, .M3, .P4, .P5, .M6, .m7], description: "Mixolydian ♭2")
| |- warning: static property 'mixolydianFlat2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'mixolydianFlat2' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
305 |
306 | /// Mixolydian augmented scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:307:16: warning: static property 'mixolydianAugmented' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
305 |
306 | /// Mixolydian augmented scale
307 | static let mixolydianAugmented = Scale(intervals: [.P1, .M2, .M3, .P4, .m6, .M6, .m7], description: "Mixolydian Augmented")
| |- warning: static property 'mixolydianAugmented' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'mixolydianAugmented' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
308 |
309 | /// Locrian diminished scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:310:16: warning: static property 'locrianDiminished' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
308 |
309 | /// Locrian diminished scale
310 | static let locrianDiminished = Scale(intervals: [.P1, .m2, .m3, .P4, .d5, .m6, .M6], description: "Locrian Diminished")
| |- warning: static property 'locrianDiminished' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'locrianDiminished' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
311 |
312 | /// Locrian diminished ♭♭3 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:313:16: warning: static property 'locrianDiminishedFlatFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
311 |
312 | /// Locrian diminished ♭♭3 scale
313 | static let locrianDiminishedFlatFlat3 = Scale(intervals: [.P1, .m2, .P4, .d5, .m6, .M6], description: "Locrian Diminished ♭♭3")
| |- warning: static property 'locrianDiminishedFlatFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'locrianDiminishedFlatFlat3' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
314 |
315 | /// Ionian ♯2 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:316:16: warning: static property 'ionianSharp2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
314 |
315 | /// Ionian ♯2 scale
316 | static let ionianSharp2 = Scale(intervals: [.P1, .m3, .M3, .P4, .P5, .M6, .M7], description: "Ionian ♯2")
| |- warning: static property 'ionianSharp2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ionianSharp2' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
317 |
318 | /// Super locrian Diminished ♭♭3 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:319:16: warning: static property 'superLocrianDiminshedFlatFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
317 |
318 | /// Super locrian Diminished ♭♭3 scale
319 | static let superLocrianDiminshedFlatFlat3 = Scale(intervals: [.P1, .m2, .M2, .M3, .d5, .m6, .M6], description: "Super Locrian Diminished ♭♭3")
| |- warning: static property 'superLocrianDiminshedFlatFlat3' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'superLocrianDiminshedFlatFlat3' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
320 |
321 | /// Ultraphrygian scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:322:16: warning: static property 'ultraphrygian' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
320 |
321 | /// Ultraphrygian scale
322 | static let ultraphrygian = Scale(intervals: [.P1, .m2, .m3, .M3, .P5, .m6, .M6], description: "Ultraphrygian")
| |- warning: static property 'ultraphrygian' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ultraphrygian' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
323 |
324 | /// Ionian Augmented ♯2 scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:325:16: warning: static property 'ionianAugmentedSharp2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
323 |
324 | /// Ionian Augmented ♯2 scale
325 | static let ionianAugmentedSharp2 = Scale(intervals: [.P1, .m3, .M3, .P4, .m6, .M6, .M7], description: "Ionian Augmented ♯2")
| |- warning: static property 'ionianAugmentedSharp2' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ionianAugmentedSharp2' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
326 |
327 | /// Major blues hexatonic scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:328:16: warning: static property 'majorBluesHexatonic' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
326 |
327 | /// Major blues hexatonic scale
328 | static let majorBluesHexatonic = Scale(intervals: [.P1, .M2, .m3, .M3, .P5, .M6], description: "Major Blues Hexatonic")
| |- warning: static property 'majorBluesHexatonic' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'majorBluesHexatonic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
329 |
330 | /// Minor blues hexatonic scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:331:16: warning: static property 'minorBluesHexatonic' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
329 |
330 | /// Minor blues hexatonic scale
331 | static let minorBluesHexatonic = Scale(intervals: [.P1, .m3, .P4, .d5, .P5, .m7], description: "Minor Blues Hexatonic")
| |- warning: static property 'minorBluesHexatonic' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'minorBluesHexatonic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
332 |
333 | /// Man gong scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:334:16: warning: static property 'manGong' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
332 |
333 | /// Man gong scale
334 | static let manGong = Scale(intervals: [.P1, .m3, .P4, .m6, .m7], description: "Man Gong")
| |- warning: static property 'manGong' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'manGong' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
335 |
336 | /// Ritsusen scale
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
/host/spi-builder-workspace/Sources/Tonic/Scale+Shortcuts.swift:337:16: warning: static property 'ritsusen' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
335 |
336 | /// Ritsusen scale
337 | static let ritsusen = Scale(intervals: [.P1, .M2, .P4, .P5, .M6], description: "Ritsusen")
| |- warning: static property 'ritsusen' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ritsusen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
338 |
339 | }
/host/spi-builder-workspace/Sources/Tonic/Scale.swift:6:15: note: consider making struct 'Scale' conform to the 'Sendable' protocol
4 |
5 | /// A set of intervals from the root (tonic).
6 | public struct Scale: OptionSet, Hashable {
| `- note: consider making struct 'Scale' conform to the 'Sendable' protocol
7 | public let rawValue: Int
8 |
[24/26] Compiling Tonic Interval.swift
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:7:16: warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | public extension Key {
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
| |- warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFifths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
9 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:8:16: warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
| |- warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFourths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | // MARK: - Major keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:13:16: warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | /// C♭ Major
13 | static let Cb = Key(root: NoteClass(.C, accidental: .flat), scale: .major)
| |- warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// G♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:16:16: warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// G♭ Major
16 | static let Gb = Key(root: NoteClass(.G, accidental: .flat), scale: .major)
| |- warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// D♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:19:16: warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
17 |
18 | /// D♭ Major
19 | static let Db = Key(root: NoteClass(.D, accidental: .flat), scale: .major)
| |- warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Db' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | /// A♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:22:16: warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | /// A♭ Major
22 | static let Ab = Key(root: NoteClass(.A, accidental: .flat), scale: .major)
| |- warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | /// E♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:25:16: warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | /// E♭ Major
25 | static let Eb = Key(root: NoteClass(.E, accidental: .flat), scale: .major)
| |- warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// B♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:28:16: warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// B♭ Major
28 | static let Bb = Key(root: NoteClass(.B, accidental: .flat), scale: .major)
| |- warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 | /// F Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:31:16: warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// F Major
31 | static let F = Key(root: NoteClass(.F), scale: .major)
| |- warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'F' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// C Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:34:16: warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
32 |
33 | /// C Major
34 | static let C = Key(root: NoteClass(.C), scale: .major)
| |- warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'C' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | /// G Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | /// G Major
37 | static let G = Key(root: NoteClass(.G), scale: .major)
| |- warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'G' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | /// D Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:40:16: warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | /// D Major
40 | static let D = Key(root: NoteClass(.D), scale: .major)
| |- warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'D' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 | /// A Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:43:16: warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A Major
43 | static let A = Key(root: NoteClass(.A), scale: .major)
| |- warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'A' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// E Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:46:16: warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// E Major
46 | static let E = Key(root: NoteClass(.E), scale: .major)
| |- warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'E' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:49:16: warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B Major
49 | static let B = Key(root: NoteClass(.B), scale: .major)
| |- warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'B' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | /// F♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:52:16: warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
50 |
51 | /// F♯ Major
52 | static let Fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .major)
| |- warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |
54 | /// C♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:55:16: warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// C♯ Major
55 | static let Cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .major)
| |- warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | // MARK: - Minor keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:60:16: warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
58 |
59 | /// A♭ Minor
60 | static let ab = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 |
62 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:63:16: warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | /// E♭ Minor
63 | static let eb = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:66:16: warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | /// B♭ Minor
66 | static let bb = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:69:16: warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
67 |
68 | /// F Minor
69 | static let f = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'f' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:72:16: warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
70 |
71 | /// C Minor
72 | static let c = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'c' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 |
74 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:75:16: warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
73 |
74 | /// G Minor
75 | static let g = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'g' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:78:16: warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
76 |
77 | /// D Minor
78 | static let d = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'd' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:81:16: warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
79 |
80 | /// A Minor
81 | static let a = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'a' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 |
83 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:84:16: warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// E Minor
84 | static let e = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'e' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:87:16: warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | /// B Minor
87 | static let b = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'b' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 |
89 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:90:16: warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
88 |
89 | /// F♯ Minor
90 | static let fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
91 |
92 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:93:16: warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
91 |
92 | /// C♯ Minor
93 | static let cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
94 |
95 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:96:16: warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
94 |
95 | /// G♯ Minor
96 | static let gs = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'gs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
97 |
98 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:99:16: warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
97 |
98 | /// D♯ Minor
99 | static let ds = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ds' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 |
101 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:102:16: warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// A♯ Minor
102 | static let `as` = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'as' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | /// A♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:105:16: warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
103 |
104 | /// A♭ Minor
105 | static let Abm = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Abm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 |
107 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:108:16: warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | /// E♭ Minor
108 | static let Ebm = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ebm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:111:16: warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | /// B♭ Minor
111 | static let Bbm = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bbm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |
113 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:114:16: warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
112 |
113 | /// F Minor
114 | static let Fm = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |
116 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:117:16: warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
115 |
116 | /// C Minor
117 | static let Cm = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |
119 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:120:16: warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
118 |
119 | /// G Minor
120 | static let Gm = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:123:16: warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
121 |
122 | /// D Minor
123 | static let Dm = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:126:16: warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
124 |
125 | /// A Minor
126 | static let Am = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Am' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:129:16: warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
127 |
128 | /// E Minor
129 | static let Em = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Em' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:132:16: warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | /// B Minor
132 | static let Bm = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:135:16: warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
133 |
134 | /// F♯ Minor
135 | static let Fsm = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 |
137 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:138:16: warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
136 |
137 | /// C♯ Minor
138 | static let Csm = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Csm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
139 |
140 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:141:16: warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
139 |
140 | /// G♯ Minor
141 | static let Gsm = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
142 |
143 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:144:16: warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
142 |
143 | /// D♯ Minor
144 | static let Dsm = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
145 |
146 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:147:16: warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
145 |
146 | /// A♯ Minor
147 | static let Asm = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Asm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
148 | }
149 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
[25/26] Compiling Tonic Key+Shortcuts.swift
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:7:16: warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | public extension Key {
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
| |- warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFifths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
9 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:8:16: warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
| |- warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFourths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | // MARK: - Major keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:13:16: warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | /// C♭ Major
13 | static let Cb = Key(root: NoteClass(.C, accidental: .flat), scale: .major)
| |- warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// G♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:16:16: warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// G♭ Major
16 | static let Gb = Key(root: NoteClass(.G, accidental: .flat), scale: .major)
| |- warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// D♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:19:16: warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
17 |
18 | /// D♭ Major
19 | static let Db = Key(root: NoteClass(.D, accidental: .flat), scale: .major)
| |- warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Db' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | /// A♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:22:16: warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | /// A♭ Major
22 | static let Ab = Key(root: NoteClass(.A, accidental: .flat), scale: .major)
| |- warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | /// E♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:25:16: warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | /// E♭ Major
25 | static let Eb = Key(root: NoteClass(.E, accidental: .flat), scale: .major)
| |- warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// B♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:28:16: warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// B♭ Major
28 | static let Bb = Key(root: NoteClass(.B, accidental: .flat), scale: .major)
| |- warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 | /// F Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:31:16: warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// F Major
31 | static let F = Key(root: NoteClass(.F), scale: .major)
| |- warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'F' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// C Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:34:16: warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
32 |
33 | /// C Major
34 | static let C = Key(root: NoteClass(.C), scale: .major)
| |- warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'C' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | /// G Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | /// G Major
37 | static let G = Key(root: NoteClass(.G), scale: .major)
| |- warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'G' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | /// D Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:40:16: warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | /// D Major
40 | static let D = Key(root: NoteClass(.D), scale: .major)
| |- warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'D' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 | /// A Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:43:16: warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A Major
43 | static let A = Key(root: NoteClass(.A), scale: .major)
| |- warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'A' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// E Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:46:16: warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// E Major
46 | static let E = Key(root: NoteClass(.E), scale: .major)
| |- warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'E' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:49:16: warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B Major
49 | static let B = Key(root: NoteClass(.B), scale: .major)
| |- warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'B' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | /// F♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:52:16: warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
50 |
51 | /// F♯ Major
52 | static let Fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .major)
| |- warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |
54 | /// C♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:55:16: warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// C♯ Major
55 | static let Cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .major)
| |- warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | // MARK: - Minor keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:60:16: warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
58 |
59 | /// A♭ Minor
60 | static let ab = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 |
62 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:63:16: warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | /// E♭ Minor
63 | static let eb = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:66:16: warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | /// B♭ Minor
66 | static let bb = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:69:16: warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
67 |
68 | /// F Minor
69 | static let f = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'f' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:72:16: warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
70 |
71 | /// C Minor
72 | static let c = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'c' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 |
74 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:75:16: warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
73 |
74 | /// G Minor
75 | static let g = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'g' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:78:16: warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
76 |
77 | /// D Minor
78 | static let d = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'd' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:81:16: warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
79 |
80 | /// A Minor
81 | static let a = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'a' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 |
83 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:84:16: warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// E Minor
84 | static let e = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'e' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:87:16: warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | /// B Minor
87 | static let b = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'b' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 |
89 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:90:16: warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
88 |
89 | /// F♯ Minor
90 | static let fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
91 |
92 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:93:16: warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
91 |
92 | /// C♯ Minor
93 | static let cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
94 |
95 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:96:16: warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
94 |
95 | /// G♯ Minor
96 | static let gs = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'gs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
97 |
98 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:99:16: warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
97 |
98 | /// D♯ Minor
99 | static let ds = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ds' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 |
101 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:102:16: warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// A♯ Minor
102 | static let `as` = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'as' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | /// A♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:105:16: warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
103 |
104 | /// A♭ Minor
105 | static let Abm = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Abm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 |
107 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:108:16: warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | /// E♭ Minor
108 | static let Ebm = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ebm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:111:16: warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | /// B♭ Minor
111 | static let Bbm = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bbm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |
113 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:114:16: warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
112 |
113 | /// F Minor
114 | static let Fm = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |
116 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:117:16: warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
115 |
116 | /// C Minor
117 | static let Cm = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |
119 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:120:16: warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
118 |
119 | /// G Minor
120 | static let Gm = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:123:16: warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
121 |
122 | /// D Minor
123 | static let Dm = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:126:16: warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
124 |
125 | /// A Minor
126 | static let Am = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Am' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:129:16: warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
127 |
128 | /// E Minor
129 | static let Em = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Em' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:132:16: warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | /// B Minor
132 | static let Bm = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:135:16: warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
133 |
134 | /// F♯ Minor
135 | static let Fsm = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 |
137 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:138:16: warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
136 |
137 | /// C♯ Minor
138 | static let Csm = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Csm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
139 |
140 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:141:16: warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
139 |
140 | /// G♯ Minor
141 | static let Gsm = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
142 |
143 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:144:16: warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
142 |
143 | /// D♯ Minor
144 | static let Dsm = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
145 |
146 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:147:16: warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
145 |
146 | /// A♯ Minor
147 | static let Asm = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Asm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
148 | }
149 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
[26/26] Compiling Tonic Key.swift
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:7:16: warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
5 | public extension Key {
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
| |- warning: static property 'circleOfFifths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFifths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
9 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:8:16: warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | static let circleOfFifths: [Key] = [.C, .G, .D, .A, .E, .B, .Fs, .Cs]
8 | static let circleOfFourths: [Key] = [.F, .Bb, .Eb, .Ab, .Db, .Gb, .Cb]
| |- warning: static property 'circleOfFourths' is not concurrency-safe because non-'Sendable' type '[Key]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'circleOfFourths' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | // MARK: - Major keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:13:16: warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | /// C♭ Major
13 | static let Cb = Key(root: NoteClass(.C, accidental: .flat), scale: .major)
| |- warning: static property 'Cb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | /// G♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:16:16: warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// G♭ Major
16 | static let Gb = Key(root: NoteClass(.G, accidental: .flat), scale: .major)
| |- warning: static property 'Gb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// D♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:19:16: warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
17 |
18 | /// D♭ Major
19 | static let Db = Key(root: NoteClass(.D, accidental: .flat), scale: .major)
| |- warning: static property 'Db' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Db' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | /// A♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:22:16: warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
20 |
21 | /// A♭ Major
22 | static let Ab = Key(root: NoteClass(.A, accidental: .flat), scale: .major)
| |- warning: static property 'Ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | /// E♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:25:16: warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | /// E♭ Major
25 | static let Eb = Key(root: NoteClass(.E, accidental: .flat), scale: .major)
| |- warning: static property 'Eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// B♭ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:28:16: warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// B♭ Major
28 | static let Bb = Key(root: NoteClass(.B, accidental: .flat), scale: .major)
| |- warning: static property 'Bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 | /// F Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:31:16: warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// F Major
31 | static let F = Key(root: NoteClass(.F), scale: .major)
| |- warning: static property 'F' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'F' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// C Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:34:16: warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
32 |
33 | /// C Major
34 | static let C = Key(root: NoteClass(.C), scale: .major)
| |- warning: static property 'C' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'C' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 | /// G Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
35 |
36 | /// G Major
37 | static let G = Key(root: NoteClass(.G), scale: .major)
| |- warning: static property 'G' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'G' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | /// D Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:40:16: warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | /// D Major
40 | static let D = Key(root: NoteClass(.D), scale: .major)
| |- warning: static property 'D' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'D' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 | /// A Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:43:16: warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A Major
43 | static let A = Key(root: NoteClass(.A), scale: .major)
| |- warning: static property 'A' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'A' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 | /// E Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:46:16: warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// E Major
46 | static let E = Key(root: NoteClass(.E), scale: .major)
| |- warning: static property 'E' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'E' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:49:16: warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B Major
49 | static let B = Key(root: NoteClass(.B), scale: .major)
| |- warning: static property 'B' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'B' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | /// F♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:52:16: warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
50 |
51 | /// F♯ Major
52 | static let Fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .major)
| |- warning: static property 'Fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |
54 | /// C♯ Major
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:55:16: warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// C♯ Major
55 | static let Cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .major)
| |- warning: static property 'Cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | // MARK: - Minor keys
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:60:16: warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
58 |
59 | /// A♭ Minor
60 | static let ab = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'ab' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ab' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 |
62 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:63:16: warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | /// E♭ Minor
63 | static let eb = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'eb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:66:16: warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | /// B♭ Minor
66 | static let bb = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'bb' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bb' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |
68 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:69:16: warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
67 |
68 | /// F Minor
69 | static let f = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'f' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'f' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:72:16: warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
70 |
71 | /// C Minor
72 | static let c = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'c' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'c' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 |
74 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:75:16: warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
73 |
74 | /// G Minor
75 | static let g = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'g' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'g' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:78:16: warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
76 |
77 | /// D Minor
78 | static let d = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'd' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'd' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 |
80 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:81:16: warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
79 |
80 | /// A Minor
81 | static let a = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'a' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'a' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 |
83 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:84:16: warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// E Minor
84 | static let e = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'e' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'e' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:87:16: warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
85 |
86 | /// B Minor
87 | static let b = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'b' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'b' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 |
89 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:90:16: warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
88 |
89 | /// F♯ Minor
90 | static let fs = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'fs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
91 |
92 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:93:16: warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
91 |
92 | /// C♯ Minor
93 | static let cs = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'cs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
94 |
95 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:96:16: warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
94 |
95 | /// G♯ Minor
96 | static let gs = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'gs' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'gs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
97 |
98 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:99:16: warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
97 |
98 | /// D♯ Minor
99 | static let ds = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'ds' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'ds' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 |
101 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:102:16: warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// A♯ Minor
102 | static let `as` = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'as' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'as' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | /// A♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:105:16: warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
103 |
104 | /// A♭ Minor
105 | static let Abm = Key(root: NoteClass(.A, accidental: .flat), scale: .minor)
| |- warning: static property 'Abm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Abm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 |
107 | /// E♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:108:16: warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | /// E♭ Minor
108 | static let Ebm = Key(root: NoteClass(.E, accidental: .flat), scale: .minor)
| |- warning: static property 'Ebm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Ebm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | /// B♭ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:111:16: warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | /// B♭ Minor
111 | static let Bbm = Key(root: NoteClass(.B, accidental: .flat), scale: .minor)
| |- warning: static property 'Bbm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bbm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 |
113 | /// F Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:114:16: warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
112 |
113 | /// F Minor
114 | static let Fm = Key(root: NoteClass(.F), scale: .minor)
| |- warning: static property 'Fm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 |
116 | /// C Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:117:16: warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
115 |
116 | /// C Minor
117 | static let Cm = Key(root: NoteClass(.C), scale: .minor)
| |- warning: static property 'Cm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |
119 | /// G Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:120:16: warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
118 |
119 | /// G Minor
120 | static let Gm = Key(root: NoteClass(.G), scale: .minor)
| |- warning: static property 'Gm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
121 |
122 | /// D Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:123:16: warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
121 |
122 | /// D Minor
123 | static let Dm = Key(root: NoteClass(.D), scale: .minor)
| |- warning: static property 'Dm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
124 |
125 | /// A Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:126:16: warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
124 |
125 | /// A Minor
126 | static let Am = Key(root: NoteClass(.A), scale: .minor)
| |- warning: static property 'Am' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Am' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
127 |
128 | /// E Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:129:16: warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
127 |
128 | /// E Minor
129 | static let Em = Key(root: NoteClass(.E), scale: .minor)
| |- warning: static property 'Em' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Em' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
130 |
131 | /// B Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:132:16: warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | /// B Minor
132 | static let Bm = Key(root: NoteClass(.B), scale: .minor)
| |- warning: static property 'Bm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Bm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 |
134 | /// F♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:135:16: warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
133 |
134 | /// F♯ Minor
135 | static let Fsm = Key(root: NoteClass(.F, accidental: .sharp), scale: .minor)
| |- warning: static property 'Fsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Fsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 |
137 | /// C♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:138:16: warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
136 |
137 | /// C♯ Minor
138 | static let Csm = Key(root: NoteClass(.C, accidental: .sharp), scale: .minor)
| |- warning: static property 'Csm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Csm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
139 |
140 | /// G♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:141:16: warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
139 |
140 | /// G♯ Minor
141 | static let Gsm = Key(root: NoteClass(.G, accidental: .sharp), scale: .minor)
| |- warning: static property 'Gsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Gsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
142 |
143 | /// D♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:144:16: warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
142 |
143 | /// D♯ Minor
144 | static let Dsm = Key(root: NoteClass(.D, accidental: .sharp), scale: .minor)
| |- warning: static property 'Dsm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Dsm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
145 |
146 | /// A♯ Minor
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
/host/spi-builder-workspace/Sources/Tonic/Key+Shortcuts.swift:147:16: warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
145 |
146 | /// A♯ Minor
147 | static let Asm = Key(root: NoteClass(.A, accidental: .sharp), scale: .minor)
| |- warning: static property 'Asm' is not concurrency-safe because non-'Sendable' type 'Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Asm' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
148 | }
149 |
/host/spi-builder-workspace/Sources/Tonic/Key.swift:8:15: note: consider making struct 'Key' conform to the 'Sendable' protocol
6 | ///
7 | /// A key is composed of a Root ``Note``, and a ``Scale``.
8 | public struct Key: Equatable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
9 | /// The primary note class of the key, also known as the tonic
10 | public let root: NoteClass
Build complete! (6.59s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Tonic",
"name" : "Tonic",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Tonic",
"targets" : [
"Tonic"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TonicTests",
"module_type" : "SwiftTarget",
"name" : "TonicTests",
"path" : "Tests/TonicTests",
"sources" : [
"BitSetTests.swift",
"ChordTests.swift",
"IntervalTests.swift",
"KeyTests.swift",
"NoteTests.swift",
"PerformanceTests.swift",
"ReadMeTests.swift",
"ScaleTests.swift",
"TonicTests.swift"
],
"target_dependencies" : [
"Tonic"
],
"type" : "test"
},
{
"c99name" : "Tonic",
"module_type" : "SwiftTarget",
"name" : "Tonic",
"path" : "Sources/Tonic",
"product_memberships" : [
"Tonic"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/Tonic/Tonic.docc",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Accidental.swift",
"BitSet.swift",
"Chord+Shortcuts.swift",
"Chord.swift",
"ChordTable.swift",
"ChordType.swift",
"Interval.swift",
"Key+Shortcuts.swift",
"Key.swift",
"Letter.swift",
"Note+MiddleCStandard.swift",
"Note+Shortcuts.swift",
"Note.swift",
"NoteClass+Shortcuts.swift",
"NoteClass.swift",
"NoteSet.swift",
"Octave.swift",
"Pitch.swift",
"PitchColor.swift",
"Scale+Shortcuts.swift",
"Scale.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.