Build Information
Successful build of Tonic, reference main (8f103c
), with Swift 6.0 for Linux on 19 Dec 2024 23:36:32 UTC.
Swift 6 data race errors: 312
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
[19/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: annotate 'circleOfFifths' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'G' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'D' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'A' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'E' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'B' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'circleOfFourths' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'F' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 | /// 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: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: annotate 'Eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Db' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Gb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// 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: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: annotate 'Cb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Scale+Shortcuts.swift:9:16: warning: static property 'major' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// Major scale
9 | static let major = Scale(intervals: Scale.ionian.intervals, description: "Major")
| |- warning: static property 'major' 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: annotate 'major' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// Minor 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/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: annotate 'ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Scale+Shortcuts.swift:12:16: warning: static property 'minor' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Minor scale
12 | static let minor = Scale(intervals: Scale.aeolian.intervals, description: "Minor")
| |- warning: static property 'minor' 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: annotate 'minor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// Harmonic minor 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/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: annotate 'eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'f' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'c' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'g' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'd' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'a' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'e' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'b' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'gs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'ds' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'as' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Abm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Ebm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Bbm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Cm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Gm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Dm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Am' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Em' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Bm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Csm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Gsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Dsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Asm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// A table of note sets so we can look up chord names.
6 | public class ChordTable {
| `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
[20/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: annotate 'circleOfFifths' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'G' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'D' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'A' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'E' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'B' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'circleOfFourths' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'F' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 | /// 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: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: annotate 'Eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Db' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: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: annotate 'Gb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /// 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: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: annotate 'Cb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Scale+Shortcuts.swift:9:16: warning: static property 'major' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
7 |
8 | /// Major scale
9 | static let major = Scale(intervals: Scale.ionian.intervals, description: "Major")
| |- warning: static property 'major' 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: annotate 'major' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 | /// Minor 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/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: annotate 'ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Scale+Shortcuts.swift:12:16: warning: static property 'minor' is not concurrency-safe because non-'Sendable' type 'Scale' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | /// Minor scale
12 | static let minor = Scale(intervals: Scale.aeolian.intervals, description: "Minor")
| |- warning: static property 'minor' 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: annotate 'minor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | /// Harmonic minor 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/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: annotate 'eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'f' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'c' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'g' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'd' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'a' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'e' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'b' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'gs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'ds' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'as' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Abm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Ebm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Bbm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Cm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Gm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Dm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Am' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Em' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Bm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Fsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Csm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Gsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Dsm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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: annotate 'Asm' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// A table of note sets so we can look up chord names.
6 | public class ChordTable {
| `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
[21/26] Compiling Tonic Chord.swift
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// A table of note sets so we can look up chord names.
6 | public class ChordTable {
| `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 | /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 | public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 | let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
| |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 | /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 | lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
| |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[22/26] Compiling Tonic ChordTable.swift
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// A table of note sets so we can look up chord names.
6 | public class ChordTable {
| `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 | /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 | public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 | let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
| |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 | /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 | lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
| |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[23/26] Compiling Tonic ChordType.swift
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:7:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// A table of note sets so we can look up chord names.
6 | public class ChordTable {
| `- note: class 'ChordTable' does not conform to the 'Sendable' protocol
7 | public static let shared = ChordTable()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ChordTable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 |
9 | static func hash(_ noteClasses: [NoteClass]) -> Int {
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/Chord.swift:292:49: warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
290 | /// want to list the notes C, E, G, A as C6 if the C is in the bass
291 | public static func getRankedChords(from notes: [Note]) -> [Chord] {
292 | let potentialChords = ChordTable.shared.getAllChordsForNoteSet(NoteSet(notes: notes))
| |- warning: 'getAllChordsForNoteSet' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords' instead
293 | if potentialChords.isEmpty { return [] }
294 | let orderedNotes = notes.sorted(by: { f, s in f.noteNumber < s.noteNumber })
/host/spi-builder-workspace/Sources/Tonic/ChordTable.swift:71:62: warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
69 |
70 | /// All chords include enharmonic (same NoteSet) - Use "chords" alternative when enharmonic chords are not needed
71 | lazy var chordsIncludingEnharmonic: [Chord] = ChordTable.generateAllChordsIncludingEnharmonic()
| |- warning: 'generateAllChordsIncludingEnharmonic()' is deprecated: Please use getRankedChords() for higher quality chord detection
| `- note: use 'getRankedChords()' instead
72 |
73 | /// Returns all of the chord options (enharmonic chords) for a set a notes (slow but effective)
[24/26] Compiling Tonic Note.swift
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/NoteClass+Shortcuts.swift:7:16: warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public extension NoteClass {
6 | /// C♭
7 | static var Cb = NoteClass(.C, accidental: .flat)
| |- warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | /// C
9 | static var C = NoteClass(.C)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:25:16: warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | static var E = NoteClass(.E)
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
| |- warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Es' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Es' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// F♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:28:16: warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// F♭
28 | static var Fb = NoteClass(.F, accidental: .flat)
| |- warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | /// F
30 | static var F = NoteClass(.F)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:53:16: warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | static var B = NoteClass(.B)
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
| |- warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 | }
55 |
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:9:16: warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | static var Cb = NoteClass(.C, accidental: .flat)
8 | /// C
9 | static var C = NoteClass(.C)
| |- warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'C' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:11:16: warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | static var C = NoteClass(.C)
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
| |- warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /// D♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:14:16: warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// D♭
14 | static var Db = NoteClass(.D, accidental: .flat)
| |- warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Db' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Db' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | /// D
16 | static var D = NoteClass(.D)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:16:16: warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | static var Db = NoteClass(.D, accidental: .flat)
15 | /// D
16 | static var D = NoteClass(.D)
| |- warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'D' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'D' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:18:16: warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | static var D = NoteClass(.D)
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
| |- warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ds' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ds' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// E♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:21:16: warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// E♭
21 | static var Eb = NoteClass(.E, accidental: .flat)
| |- warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Eb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | /// E
23 | static var E = NoteClass(.E)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:23:16: warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | static var Eb = NoteClass(.E, accidental: .flat)
22 | /// E
23 | static var E = NoteClass(.E)
| |- warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'E' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'E' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:30:16: warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | static var Fb = NoteClass(.F, accidental: .flat)
29 | /// F
30 | static var F = NoteClass(.F)
| |- warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'F' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'F' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:32:16: warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | static var F = NoteClass(.F)
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
| |- warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// G♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:35:16: warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 |
34 | /// G♭
35 | static var Gb = NoteClass(.G, accidental: .flat)
| |- warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | /// G
37 | static var G = NoteClass(.G)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | static var Gb = NoteClass(.G, accidental: .flat)
36 | /// G
37 | static var G = NoteClass(.G)
| |- warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'G' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'G' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:39:16: warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var G = NoteClass(.G)
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
| |- warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// A♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:42:16: warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// A♭
42 | static var Ab = NoteClass(.A, accidental: .flat)
| |- warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ab' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | /// A
44 | static var A = NoteClass(.A)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:44:16: warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
42 | static var Ab = NoteClass(.A, accidental: .flat)
43 | /// A
44 | static var A = NoteClass(.A)
| |- warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'A' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'A' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:46:16: warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 | static var A = NoteClass(.A)
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
| |- warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'As' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'As' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:49:16: warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B♭
49 | static var Bb = NoteClass(.B, accidental: .flat)
| |- warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | /// B
51 | static var B = NoteClass(.B)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:51:16: warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 | static var Bb = NoteClass(.B, accidental: .flat)
50 | /// B
51 | static var B = NoteClass(.B)
| |- warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'B' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'B' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
[25/26] Compiling Tonic NoteClass+Shortcuts.swift
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/NoteClass+Shortcuts.swift:7:16: warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public extension NoteClass {
6 | /// C♭
7 | static var Cb = NoteClass(.C, accidental: .flat)
| |- warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | /// C
9 | static var C = NoteClass(.C)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:25:16: warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | static var E = NoteClass(.E)
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
| |- warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Es' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Es' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// F♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:28:16: warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// F♭
28 | static var Fb = NoteClass(.F, accidental: .flat)
| |- warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | /// F
30 | static var F = NoteClass(.F)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:53:16: warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | static var B = NoteClass(.B)
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
| |- warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 | }
55 |
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:9:16: warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | static var Cb = NoteClass(.C, accidental: .flat)
8 | /// C
9 | static var C = NoteClass(.C)
| |- warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'C' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:11:16: warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | static var C = NoteClass(.C)
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
| |- warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /// D♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:14:16: warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// D♭
14 | static var Db = NoteClass(.D, accidental: .flat)
| |- warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Db' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Db' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | /// D
16 | static var D = NoteClass(.D)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:16:16: warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | static var Db = NoteClass(.D, accidental: .flat)
15 | /// D
16 | static var D = NoteClass(.D)
| |- warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'D' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'D' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:18:16: warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | static var D = NoteClass(.D)
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
| |- warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ds' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ds' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// E♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:21:16: warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// E♭
21 | static var Eb = NoteClass(.E, accidental: .flat)
| |- warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Eb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | /// E
23 | static var E = NoteClass(.E)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:23:16: warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | static var Eb = NoteClass(.E, accidental: .flat)
22 | /// E
23 | static var E = NoteClass(.E)
| |- warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'E' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'E' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:30:16: warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | static var Fb = NoteClass(.F, accidental: .flat)
29 | /// F
30 | static var F = NoteClass(.F)
| |- warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'F' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'F' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:32:16: warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | static var F = NoteClass(.F)
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
| |- warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// G♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:35:16: warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 |
34 | /// G♭
35 | static var Gb = NoteClass(.G, accidental: .flat)
| |- warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | /// G
37 | static var G = NoteClass(.G)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | static var Gb = NoteClass(.G, accidental: .flat)
36 | /// G
37 | static var G = NoteClass(.G)
| |- warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'G' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'G' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:39:16: warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var G = NoteClass(.G)
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
| |- warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// A♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:42:16: warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// A♭
42 | static var Ab = NoteClass(.A, accidental: .flat)
| |- warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ab' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | /// A
44 | static var A = NoteClass(.A)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:44:16: warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
42 | static var Ab = NoteClass(.A, accidental: .flat)
43 | /// A
44 | static var A = NoteClass(.A)
| |- warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'A' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'A' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:46:16: warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 | static var A = NoteClass(.A)
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
| |- warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'As' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'As' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:49:16: warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B♭
49 | static var Bb = NoteClass(.B, accidental: .flat)
| |- warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | /// B
51 | static var B = NoteClass(.B)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:51:16: warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 | static var Bb = NoteClass(.B, accidental: .flat)
50 | /// B
51 | static var B = NoteClass(.B)
| |- warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'B' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'B' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
[26/26] Compiling Tonic NoteClass.swift
/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: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
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/NoteClass+Shortcuts.swift:7:16: warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public extension NoteClass {
6 | /// C♭
7 | static var Cb = NoteClass(.C, accidental: .flat)
| |- warning: static property 'Cb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
8 | /// C
9 | static var C = NoteClass(.C)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:25:16: warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | static var E = NoteClass(.E)
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
| |- warning: static property 'Es' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Es' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Es' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// F♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:28:16: warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | /// F♭
28 | static var Fb = NoteClass(.F, accidental: .flat)
| |- warning: static property 'Fb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | /// F
30 | static var F = NoteClass(.F)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:53:16: warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
51 | static var B = NoteClass(.B)
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
| |- warning: static property 'Bs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 | }
55 |
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:9:16: warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
7 | static var Cb = NoteClass(.C, accidental: .flat)
8 | /// C
9 | static var C = NoteClass(.C)
| |- warning: static property 'C' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'C' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'C' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:11:16: warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 | static var C = NoteClass(.C)
10 | /// C♯
11 | static var Cs = NoteClass(.C, accidental: .sharp)
| |- warning: static property 'Cs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Cs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Cs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /// D♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:14:16: warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// D♭
14 | static var Db = NoteClass(.D, accidental: .flat)
| |- warning: static property 'Db' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Db' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Db' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | /// D
16 | static var D = NoteClass(.D)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:16:16: warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | static var Db = NoteClass(.D, accidental: .flat)
15 | /// D
16 | static var D = NoteClass(.D)
| |- warning: static property 'D' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'D' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'D' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:18:16: warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | static var D = NoteClass(.D)
17 | /// D♯
18 | static var Ds = NoteClass(.D, accidental: .sharp)
| |- warning: static property 'Ds' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ds' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ds' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// E♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:21:16: warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// E♭
21 | static var Eb = NoteClass(.E, accidental: .flat)
| |- warning: static property 'Eb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Eb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Eb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | /// E
23 | static var E = NoteClass(.E)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:23:16: warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | static var Eb = NoteClass(.E, accidental: .flat)
22 | /// E
23 | static var E = NoteClass(.E)
| |- warning: static property 'E' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'E' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'E' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | /// E♯
25 | static var Es = NoteClass(.E, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:30:16: warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | static var Fb = NoteClass(.F, accidental: .flat)
29 | /// F
30 | static var F = NoteClass(.F)
| |- warning: static property 'F' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'F' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'F' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:32:16: warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | static var F = NoteClass(.F)
31 | /// F♯
32 | static var Fs = NoteClass(.F, accidental: .sharp)
| |- warning: static property 'Fs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Fs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Fs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// G♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:35:16: warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
33 |
34 | /// G♭
35 | static var Gb = NoteClass(.G, accidental: .flat)
| |- warning: static property 'Gb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 | /// G
37 | static var G = NoteClass(.G)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:37:16: warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | static var Gb = NoteClass(.G, accidental: .flat)
36 | /// G
37 | static var G = NoteClass(.G)
| |- warning: static property 'G' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'G' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'G' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:39:16: warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | static var G = NoteClass(.G)
38 | /// G♯
39 | static var Gs = NoteClass(.G, accidental: .sharp)
| |- warning: static property 'Gs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Gs' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Gs' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 |
41 | /// A♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:42:16: warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// A♭
42 | static var Ab = NoteClass(.A, accidental: .flat)
| |- warning: static property 'Ab' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Ab' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Ab' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | /// A
44 | static var A = NoteClass(.A)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:44:16: warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
42 | static var Ab = NoteClass(.A, accidental: .flat)
43 | /// A
44 | static var A = NoteClass(.A)
| |- warning: static property 'A' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'A' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'A' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:46:16: warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 | static var A = NoteClass(.A)
45 | /// A♯
46 | static var As = NoteClass(.A, accidental: .sharp)
| |- warning: static property 'As' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'As' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'As' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 | /// B♭
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:49:16: warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// B♭
49 | static var Bb = NoteClass(.B, accidental: .flat)
| |- warning: static property 'Bb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'Bb' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'Bb' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | /// B
51 | static var B = NoteClass(.B)
/host/spi-builder-workspace/Sources/Tonic/NoteClass+Shortcuts.swift:51:16: warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 | static var Bb = NoteClass(.B, accidental: .flat)
50 | /// B
51 | static var B = NoteClass(.B)
| |- warning: static property 'B' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'B' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'B' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | /// B♯
53 | static var Bs = NoteClass(.B, accidental: .sharp)
Build complete! (14.32s)
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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.