Build Information
Successful build of SSpec, reference master (2e6842
), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 18:54:05 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dimakura/sspec.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dimakura/sspec
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 2e68427 Extensibility fixes (#33)
Cloned https://github.com/dimakura/sspec.git
Revision (git rev-parse @):
2e6842709607cdbfd3013e7df0dbe32b60932656
SUCCESS checkout https://github.com/dimakura/sspec.git at master
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/jkandzi/Progress.swift
[1/465] Fetching progress.swift
[183/1661] Fetching progress.swift, rainbow
Fetched https://github.com/jkandzi/Progress.swift from cache (0.92s)
Fetched https://github.com/onevcat/Rainbow from cache (0.92s)
Computing version for https://github.com/jkandzi/Progress.swift
error: package 'package.swift' is using Swift tools version 3.1.0 which is no longer supported; consider using '// swift-tools-version: 6.1' to specify the current tools version
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/dimakura/sspec.git
https://github.com/dimakura/sspec.git
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "progress.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jkandzi/Progress.swift"
}
],
"manifest_display_name" : "SSpec",
"name" : "SSpec",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SSpec",
"targets" : [
"SSpec"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SSpecTests",
"module_type" : "SwiftTarget",
"name" : "SSpecTests",
"path" : "Tests/SSpecTests",
"sources" : [
"Extensions/DummyExtension.swift",
"General/ArraySpec.swift",
"General/BeforeAfterSpec.swift",
"General/BoolSpec.swift",
"General/EquatableSpec.swift",
"General/NilableSpec.swift",
"General/StringSpec.swift",
"SSpec/ExtensionSpec.swift",
"SSpec/NodeSpec.swift",
"SSpec/SessionSpec.swift",
"SSpec/VersionSpec.swift",
"SSpecTests.swift"
],
"target_dependencies" : [
"SSpec"
],
"type" : "test"
},
{
"c99name" : "SSpec",
"module_type" : "SwiftTarget",
"name" : "SSpec",
"path" : "Sources/SSpec",
"product_dependencies" : [
"Rainbow",
"Progress"
],
"product_memberships" : [
"SSpec"
],
"sources" : [
"Collectors/DotReporter.swift",
"Collectors/ProgressReporter.swift",
"Collectors/Reporter.swift",
"Collectors/SpecReporter.swift",
"Collectors/TimeTaken.swift",
"Collectors/Welcomer.swift",
"Expectations/Array.swift",
"Expectations/Bool.swift",
"Expectations/Change.swift",
"Expectations/Comparable.swift",
"Expectations/Equatable.swift",
"Expectations/Generic.swift",
"Expectations/String.swift",
"Expectations/ToString.swift",
"SSpec.swift",
"Session/Events.swift",
"Session/Session.swift",
"Session/Tree.swift",
"Tree/After.swift",
"Tree/Before.swift",
"Tree/Describe.swift",
"Tree/Example.swift",
"Tree/IdGenerator.swift",
"Tree/Node.swift",
"Tree/Root.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/19] Compiling Progress Utilities.swift
[6/19] Compiling Progress Progress.swift
[7/19] Emitting module Progress
[8/19] Compiling Progress ProgressElements.swift
[9/19] Compiling Rainbow String+Rainbow.swift
[10/19] Compiling Rainbow Style.swift
[11/20] Compiling Rainbow XcodeColorsSupport.swift
[12/20] Compiling Rainbow BackgroundColor.swift
[13/20] Compiling Rainbow CodesParser.swift
[14/20] Compiling Rainbow StringGenerator.swift
[15/20] Compiling Rainbow OutputTarget.swift
[16/20] Compiling Rainbow ModesExtractor.swift
[17/20] Compiling Rainbow Color.swift
[18/20] Compiling Rainbow ControlCode.swift
[19/20] Compiling Rainbow Rainbow.swift
[20/20] Emitting module Rainbow
[21/45] Emitting module SSpec
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
16 |
17 | /// Expectations for equatable arrays.
18 | extension SSExpect where T == [Equatable] {
| `- warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
19 | private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
20 | guard let A = a as? [X] else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:15:22: warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | private static var _currentSession: SSSession?
| |- warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_currentSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_currentSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// Current session.
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:21:14: warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Current reporter.
21 | static var reporter: Reporter = .Dot
| |- warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// You use this method only once for running sessions.
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/IdGenerator.swift:3:22: warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1 | /// Consequtive id generator.
2 | struct IdGenerator {
3 | private static var lastId: Int = 0
| |- warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'lastId' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'lastId' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
4 |
5 | static var nextId: Int {
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:4:14: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 | class Node: Equatable, Hashable {
3 | /// Current node: used for running examples.
4 | static var current: Node? = nil
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | /// Equatable implementation.
[22/47] Compiling SSpec Comparable.swift
[23/47] Compiling SSpec Equatable.swift
[24/47] Compiling SSpec Generic.swift
[25/47] Compiling SSpec String.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:15:22: warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | private static var _currentSession: SSSession?
| |- warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_currentSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_currentSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// Current session.
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:21:14: warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Current reporter.
21 | static var reporter: Reporter = .Dot
| |- warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// You use this method only once for running sessions.
[26/47] Compiling SSpec ToString.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:15:22: warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | private static var _currentSession: SSSession?
| |- warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_currentSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_currentSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// Current session.
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:21:14: warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Current reporter.
21 | static var reporter: Reporter = .Dot
| |- warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// You use this method only once for running sessions.
[27/47] Compiling SSpec SSpec.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:15:22: warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | }
14 |
15 | private static var _currentSession: SSSession?
| |- warning: static property '_currentSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_currentSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_currentSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// Current session.
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/SSpec.swift:21:14: warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Current reporter.
21 | static var reporter: Reporter = .Dot
| |- warning: static property 'reporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'reporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'reporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | /// You use this method only once for running sessions.
[28/47] Compiling SSpec SpecReporter.swift
[29/47] Compiling SSpec TimeTaken.swift
[30/47] Compiling SSpec Welcomer.swift
[31/47] Compiling SSpec Describe.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[32/47] Compiling SSpec Example.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[33/47] Compiling SSpec Array.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
16 |
17 | /// Expectations for equatable arrays.
18 | extension SSExpect where T == [Equatable] {
| `- warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
19 | private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
20 | guard let A = a as? [X] else { return false }
[34/47] Compiling SSpec Bool.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
16 |
17 | /// Expectations for equatable arrays.
18 | extension SSExpect where T == [Equatable] {
| `- warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
19 | private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
20 | guard let A = a as? [X] else { return false }
[35/47] Compiling SSpec Change.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Expectations/Array.swift:18:32: warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
16 |
17 | /// Expectations for equatable arrays.
18 | extension SSExpect where T == [Equatable] {
| `- warning: use of protocol 'Equatable' as a type must be written 'any Equatable'; this will be an error in a future Swift language mode
19 | private func areEqual<X: Equatable>(_ a: T?, _ b: [X]) -> Bool {
20 | guard let A = a as? [X] else { return false }
[36/47] Compiling SSpec IdGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/IdGenerator.swift:3:22: warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1 | /// Consequtive id generator.
2 | struct IdGenerator {
3 | private static var lastId: Int = 0
| |- warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'lastId' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'lastId' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
4 |
5 | static var nextId: Int {
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:4:14: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 | class Node: Equatable, Hashable {
3 | /// Current node: used for running examples.
4 | static var current: Node? = nil
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | /// Equatable implementation.
[37/47] Compiling SSpec Node.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/IdGenerator.swift:3:22: warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1 | /// Consequtive id generator.
2 | struct IdGenerator {
3 | private static var lastId: Int = 0
| |- warning: static property 'lastId' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'lastId' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'lastId' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
4 |
5 | static var nextId: Int {
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:4:14: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2 | class Node: Equatable, Hashable {
3 | /// Current node: used for running examples.
4 | static var current: Node? = nil
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | /// Equatable implementation.
[38/47] Compiling SSpec After.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[39/47] Compiling SSpec Before.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[40/47] Compiling SSpec Events.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[41/47] Compiling SSpec Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[42/47] Compiling SSpec Tree.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[43/47] Compiling SSpec DotReporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[44/47] Compiling SSpec ProgressReporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[45/47] Compiling SSpec Reporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[46/47] Compiling SSpec Root.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
[47/47] Compiling SSpec Version.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSpec/Tree/Node.swift:52:7: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
50 | }
51 |
52 | var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Node' to 'Hashable' by implementing 'hash(into:)' instead
53 | return id
54 | }
Build complete! (7.78s)
Updating https://github.com/jkandzi/Progress.swift
Updating https://github.com/onevcat/Rainbow
Updated https://github.com/onevcat/Rainbow (0.42s)
Updated https://github.com/jkandzi/Progress.swift (0.42s)
Computing version for https://github.com/jkandzi/Progress.swift
Computed https://github.com/jkandzi/Progress.swift at 0.4.0 (1.01s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 3.2.0 (0.54s)
Creating working copy for https://github.com/jkandzi/Progress.swift
Working copy of https://github.com/jkandzi/Progress.swift resolved at 0.4.0
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 3.2.0
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "progress.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/jkandzi/Progress.swift"
}
],
"manifest_display_name" : "SSpec",
"name" : "SSpec",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SSpec",
"targets" : [
"SSpec"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SSpecTests",
"module_type" : "SwiftTarget",
"name" : "SSpecTests",
"path" : "Tests/SSpecTests",
"sources" : [
"Extensions/DummyExtension.swift",
"General/ArraySpec.swift",
"General/BeforeAfterSpec.swift",
"General/BoolSpec.swift",
"General/EquatableSpec.swift",
"General/NilableSpec.swift",
"General/StringSpec.swift",
"SSpec/ExtensionSpec.swift",
"SSpec/NodeSpec.swift",
"SSpec/SessionSpec.swift",
"SSpec/VersionSpec.swift",
"SSpecTests.swift"
],
"target_dependencies" : [
"SSpec"
],
"type" : "test"
},
{
"c99name" : "SSpec",
"module_type" : "SwiftTarget",
"name" : "SSpec",
"path" : "Sources/SSpec",
"product_dependencies" : [
"Rainbow",
"Progress"
],
"product_memberships" : [
"SSpec"
],
"sources" : [
"Collectors/DotReporter.swift",
"Collectors/ProgressReporter.swift",
"Collectors/Reporter.swift",
"Collectors/SpecReporter.swift",
"Collectors/TimeTaken.swift",
"Collectors/Welcomer.swift",
"Expectations/Array.swift",
"Expectations/Bool.swift",
"Expectations/Change.swift",
"Expectations/Comparable.swift",
"Expectations/Equatable.swift",
"Expectations/Generic.swift",
"Expectations/String.swift",
"Expectations/ToString.swift",
"SSpec.swift",
"Session/Events.swift",
"Session/Session.swift",
"Session/Tree.swift",
"Tree/After.swift",
"Tree/Before.swift",
"Tree/Describe.swift",
"Tree/Example.swift",
"Tree/IdGenerator.swift",
"Tree/Node.swift",
"Tree/Root.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.