The Swift Package Index logo.Swift Package Index

Build Information

Successful build of hegel-swift, reference main (dca4d4), with Swift 6.4 for macOS (SPM) on 27 Sep 2026 07:35:03 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nassersala/hegel-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nassersala/hegel-swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at dca4d43 AboveTheCode: the spinner polls through a child task, not Task.yield; the grace change in b30285b is reverted and its explanation was wrong
Cloned https://github.com/nassersala/hegel-swift.git
Revision (git rev-parse @):
dca4d4399508094592991be3b1e81b4588c377bf
SUCCESS checkout https://github.com/nassersala/hegel-swift.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/nassersala/hegel-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 126]
[Planning deferred tasks]
[27 / 45]
[28 / 46] Hegel
[38 / 92]
[43 / 92]
[47 / 92]
[48 / 92]
[52 / 92]
[54 / 92]
[57 / 92]
[60 / 92]
[62 / 92]
[63 / 92]
[74 / 92] Hegel
[75 / 92] Hegel
[81 / 93] Hegel
[83 / 98]
[84 / 98]
[86 / 98] Hegel
[95 / 98] HegelTesting
Build complete! (7.66 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:142:58: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
140 |     settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
141 | ) throws {
142 |     try forAll(f, is: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
    |                                                          `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
143 |                database: database, settings: settings, file: file, line: line)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:162:59: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
160 |     settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
161 | ) throws {
162 |     try forAll(op, is: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
    |                                                           `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
163 |                database: database, settings: settings, file: file, line: line)
164 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:182:70: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
180 |     settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
181 | ) throws {
182 |     try forAll(op, identity, are: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
    |                                                                      `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
183 |                database: database, settings: settings, file: file, line: line)
184 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:203:68: warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
201 |     settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
202 | ) throws {
203 |     try forAll(to, from, are: law, on: gen, labels: labels, equal: ==, testCases: testCases, seed: seed,
    |                                                                    `- warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
204 |                database: database, settings: settings, file: file, line: line)
205 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/ModelBased.swift:162:20: warning: converting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races
160 |         self.init(
161 |             name, precondition: precondition, args: args, run: run, model: model,
162 |             equal: ==, describe: describe, describeObserved: describeObserved)
    |                    `- warning: converting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races
163 |     }
164 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/ModelBased.swift:191:20: warning: converting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races
189 |         self.init(
190 |             name, precondition: precondition, run: run, model: model,
191 |             equal: ==, describeObserved: describeObserved)
    |                    `- warning: converting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races
192 |     }
193 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Signature.swift:50:37: warning: capture of non-Sendable type 'Wrapped.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 48 |     /// `nil` first, so a counterexample shrinks toward it.
 49 |     public static var gen: Gen<Wrapped?> {
 50 |         oneOf([Gen<Wrapped?> { _ in nil }, Wrapped.gen.map { Optional.some($0) }])
    |                                     `- warning: capture of non-Sendable type 'Wrapped.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 51 |     }
 52 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Signature.swift:50:71: warning: capture of non-Sendable type 'Wrapped.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 48 |     /// `nil` first, so a counterexample shrinks toward it.
 49 |     public static var gen: Gen<Wrapped?> {
 50 |         oneOf([Gen<Wrapped?> { _ in nil }, Wrapped.gen.map { Optional.some($0) }])
    |                                                                       `- warning: capture of non-Sendable type 'Wrapped.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
 51 |     }
 52 | }
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/CategoryLaws.swift:96:59: warning: converting non-Sendable function value to '@Sendable (Arrow, Arrow) -> Bool' may introduce data races
 94 |         identity: Arrow
 95 |     ) -> Category {
 96 |         monoid(gen, label, op, identity: identity, equal: ==)
    |                                                           `- warning: converting non-Sendable function value to '@Sendable (Arrow, Arrow) -> Bool' may introduce data races
 97 |     }
 98 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Enumeration.swift:124:35: warning: converting non-Sendable function value to '@Sendable (Response, Response) -> Bool' may introduce data races
122 |         run: @escaping @Sendable (inout SUT, Stimulus) throws -> Response
123 |     ) -> [Command<SUT, State>] where Response: Equatable {
124 |         commands(run: run, equal: ==)
    |                                   `- warning: converting non-Sendable function value to '@Sendable (Response, Response) -> Bool' may introduce data races
125 |     }
126 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 917 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 918 |     ) -> LawSuite {
 919 |         semigroup(gen, label, op, equal: ==)
     |                                          `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 920 |     }
 921 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 923 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 924 |     ) -> LawSuite {
 925 |         monoid(gen, label, op, identity: identity, equal: ==)
     |                                                           `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 926 |     }
 927 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 930 |         identity: T, inverse: @escaping @Sendable (T) -> T
 931 |     ) -> LawSuite {
 932 |         group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
     |                                                                            `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 933 |     }
 934 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 936 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 937 |     ) -> LawSuite {
 938 |         commutative(gen, label, op, equal: ==)
     |                                            `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 939 |     }
 940 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 942 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
 943 |     ) -> LawSuite {
 944 |         idempotent(gen, label, op, equal: ==)
     |                                           `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 945 |     }
 946 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 948 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 949 |     ) -> LawSuite {
 950 |         idempotent(gen, label, f, equal: ==)
     |                                          `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 951 |     }
 952 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 954 |         _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
 955 |     ) -> LawSuite {
 956 |         involution(gen, label, f, equal: ==)
     |                                          `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 957 |     }
 958 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 960 |         _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
 961 |     ) -> LawSuite {
 962 |         semilattice(gen, label, op, identity: identity, equal: ==)
     |                                                                `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 963 |     }
 964 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 967 |         over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
 968 |     ) -> LawSuite {
 969 |         distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
     |                                                                      `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 970 |     }
 971 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 975 |         meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
 976 |     ) -> LawSuite {
 977 |         lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
     |                                                                           `- warning: converting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races
 978 |     }
 979 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
 983 |         to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
 984 |     ) -> LawSuite {
 985 |         homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
     |                                                                                     `- warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
 986 |     }
 987 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
 993 |         monoidHomomorphism(
 994 |             gen, fLabel, f, from: opALabel, opA, identity: identityA,
 995 |             to: opBLabel, opB, identity: identityB, equal: ==)
     |                                                            `- warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
 996 |     }
 997 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
1001 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1002 |     ) -> LawSuite {
1003 |         retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
     |                                                                        `- warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
1004 |     }
1005 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                 `- warning: converting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races
1012 |     }
1013 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
1009 |         from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 |     ) -> LawSuite {
1011 |         isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
     |                                                                                             `- warning: converting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races
1012 |     }
1013 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: warning: converting non-Sendable function value to '@Sendable (F, F) -> Bool' may introduce data races
1016 |         map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
1017 |     ) -> LawSuite {
1018 |         functor(gen, map: map, equal: ==)
     |                                       `- warning: converting non-Sendable function value to '@Sendable (F, F) -> Bool' may introduce data races
1019 |     }
1020 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: warning: converting non-Sendable function value to '@Sendable (S, S) -> Bool' may introduce data races
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                              `- warning: converting non-Sendable function value to '@Sendable (S, S) -> Bool' may introduce data races
1027 |     }
1028 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: warning: converting non-Sendable function value to '@Sendable (V, V) -> Bool' may introduce data races
1024 |         set: @escaping @Sendable (S, V) -> S
1025 |     ) -> LawSuite {
1026 |         lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
     |                                                                              `- warning: converting non-Sendable function value to '@Sendable (V, V) -> Bool' may introduce data races
1027 |     }
1028 | }
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "hegel-swift",
  "name" : "hegel-swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "Hegel",
      "targets" : [
        "Hegel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HegelTesting",
      "targets" : [
        "HegelTesting"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "HegelTests",
      "module_type" : "SwiftTarget",
      "name" : "HegelTests",
      "path" : "Tests/HegelTests",
      "sources" : [
        "AbiMirrorTests.swift",
        "AsyncTests.swift",
        "CategoryLawsTests.swift",
        "DenotationalTests.swift",
        "DieHardTests.swift",
        "EnumerationTests.swift",
        "ErrorClassificationTests.swift",
        "ExpectAllTests.swift",
        "HegelTests.swift",
        "LawsTests.swift",
        "LifetimeTests.swift",
        "MetamorphicTests.swift",
        "ModelBasedTests.swift",
        "OutputTests.swift",
        "PrimitiveTests.swift",
        "ReportedErrorTests.swift",
        "SettingsTests.swift",
        "SignatureTests.swift",
        "SmokeTests.swift",
        "StatefulTests.swift",
        "StuckTests.swift",
        "SyntaxTests.swift",
        "TargetTests.swift",
        "TemporalLogicTests.swift",
        "UndoSubject.swift"
      ],
      "target_dependencies" : [
        "Hegel",
        "HegelTesting",
        "CHegel"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HegelTesting",
      "module_type" : "SwiftTarget",
      "name" : "HegelTesting",
      "path" : "Sources/HegelTesting",
      "product_memberships" : [
        "HegelTesting"
      ],
      "sources" : [
        "ExpectAll.swift"
      ],
      "target_dependencies" : [
        "Hegel"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Hegel",
      "module_type" : "SwiftTarget",
      "name" : "Hegel",
      "path" : "Sources/Hegel",
      "product_memberships" : [
        "Hegel",
        "HegelTesting"
      ],
      "sources" : [
        "BigIntegers.swift",
        "CategoryLaws.swift",
        "Enumeration.swift",
        "Gen.swift",
        "HegelError.swift",
        "Identifiers.swift",
        "Laws.swift",
        "Metamorphic.swift",
        "ModelBased.swift",
        "Primitives.swift",
        "Replay.swift",
        "Runner.swift",
        "Settings.swift",
        "Signature.swift",
        "Stateful.swift",
        "Strings.swift",
        "Stuck.swift",
        "Syntax.swift",
        "Target.swift",
        "Temporal.swift",
        "TemporalLogic.swift",
        "TestCase.swift"
      ],
      "target_dependencies" : [
        "CHegel"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CHegel",
      "module_type" : "BinaryTarget",
      "name" : "CHegel",
      "path" : "Vendor/CHegel.xcframework",
      "product_memberships" : [
        "Hegel",
        "HegelTesting"
      ],
      "sources" : [
      ],
      "type" : "binary"
    }
  ],
  "tools_version" : "6.0"
}
Done.