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 arm64Build 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: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m140 |[0;0m settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
[0;36m141 |[0;0m ) throws {
[0;36m142 |[0;0m try forAll(f, is: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m143 |[0;0m database: database, settings: settings, file: file, line: line)
[0;36m144 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:162:59: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m160 |[0;0m settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
[0;36m161 |[0;0m ) throws {
[0;36m162 |[0;0m try forAll(op, is: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m163 |[0;0m database: database, settings: settings, file: file, line: line)
[0;36m164 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:182:70: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m180 |[0;0m settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
[0;36m181 |[0;0m ) throws {
[0;36m182 |[0;0m try forAll(op, identity, are: law, on: gen, label: label, equal: ==, testCases: testCases, seed: seed,
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m183 |[0;0m database: database, settings: settings, file: file, line: line)
[0;36m184 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Syntax.swift:203:68: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m201 |[0;0m settings: Settings = Settings(), file: StaticString = #fileID, line: UInt = #line
[0;36m202 |[0;0m ) throws {
[0;36m203 |[0;0m try forAll(to, from, are: law, on: gen, labels: labels, equal: ==, testCases: testCases, seed: seed,
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m204 |[0;0m database: database, settings: settings, file: file, line: line)
[0;36m205 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/ModelBased.swift:162:20: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races[0;0m
[0;36m160 |[0;0m self.init(
[0;36m161 |[0;0m name, precondition: precondition, args: args, run: run, model: model,
[0;36m162 |[0;0m equal: ==, describe: describe, describeObserved: describeObserved)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races[0;0m
[0;36m163 |[0;0m }
[0;36m164 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/ModelBased.swift:191:20: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races[0;0m
[0;36m189 |[0;0m self.init(
[0;36m190 |[0;0m name, precondition: precondition, run: run, model: model,
[0;36m191 |[0;0m equal: ==, describeObserved: describeObserved)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Observed, Observed) -> Bool' may introduce data races[0;0m
[0;36m192 |[0;0m }
[0;36m193 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Signature.swift:50:37: [1;33mwarning: [1;39mcapture of non-Sendable type 'Wrapped.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m48 |[0;0m /// `nil` first, so a counterexample shrinks toward it.
[0;36m49 |[0;0m public static var gen: Gen<Wrapped?> {
[0;36m50 |[0;0m oneOf([Gen<Wrapped?> { _ in nil }, Wrapped.gen.map { Optional.some($0) }])
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Wrapped.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m51 |[0;0m }
[0;36m52 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Signature.swift:50:71: [1;33mwarning: [1;39mcapture of non-Sendable type 'Wrapped.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m48 |[0;0m /// `nil` first, so a counterexample shrinks toward it.
[0;36m49 |[0;0m public static var gen: Gen<Wrapped?> {
[0;36m50 |[0;0m oneOf([Gen<Wrapped?> { _ in nil }, Wrapped.gen.map { Optional.some($0) }])
[0;36m|[0;0m `- [1;33mwarning: [1;39mcapture of non-Sendable type 'Wrapped.Type' in an isolated closure[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
[0;36m51 |[0;0m }
[0;36m52 |[0;0m }
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/CategoryLaws.swift:96:59: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Arrow, Arrow) -> Bool' may introduce data races[0;0m
[0;36m94 |[0;0m identity: Arrow
[0;36m95 |[0;0m ) -> Category {
[0;36m96 |[0;0m monoid(gen, label, op, identity: identity, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Arrow, Arrow) -> Bool' may introduce data races[0;0m
[0;36m97 |[0;0m }
[0;36m98 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Enumeration.swift:124:35: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Response, Response) -> Bool' may introduce data races[0;0m
[0;36m122 |[0;0m run: @escaping @Sendable (inout SUT, Stimulus) throws -> Response
[0;36m123 |[0;0m ) -> [Command<SUT, State>] where Response: Equatable {
[0;36m124 |[0;0m commands(run: run, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (Response, Response) -> Bool' may introduce data races[0;0m
[0;36m125 |[0;0m }
[0;36m126 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m917 |[0;0m _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
[0;36m918 |[0;0m ) -> LawSuite {
[0;36m919 |[0;0m semigroup(gen, label, op, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m920 |[0;0m }
[0;36m921 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m923 |[0;0m _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
[0;36m924 |[0;0m ) -> LawSuite {
[0;36m925 |[0;0m monoid(gen, label, op, identity: identity, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m926 |[0;0m }
[0;36m927 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m930 |[0;0m identity: T, inverse: @escaping @Sendable (T) -> T
[0;36m931 |[0;0m ) -> LawSuite {
[0;36m932 |[0;0m group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m933 |[0;0m }
[0;36m934 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m936 |[0;0m _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
[0;36m937 |[0;0m ) -> LawSuite {
[0;36m938 |[0;0m commutative(gen, label, op, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m939 |[0;0m }
[0;36m940 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m942 |[0;0m _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
[0;36m943 |[0;0m ) -> LawSuite {
[0;36m944 |[0;0m idempotent(gen, label, op, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m945 |[0;0m }
[0;36m946 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m948 |[0;0m _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
[0;36m949 |[0;0m ) -> LawSuite {
[0;36m950 |[0;0m idempotent(gen, label, f, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m951 |[0;0m }
[0;36m952 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m954 |[0;0m _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
[0;36m955 |[0;0m ) -> LawSuite {
[0;36m956 |[0;0m involution(gen, label, f, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m957 |[0;0m }
[0;36m958 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m960 |[0;0m _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
[0;36m961 |[0;0m ) -> LawSuite {
[0;36m962 |[0;0m semilattice(gen, label, op, identity: identity, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m963 |[0;0m }
[0;36m964 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m967 |[0;0m over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
[0;36m968 |[0;0m ) -> LawSuite {
[0;36m969 |[0;0m distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m970 |[0;0m }
[0;36m971 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m975 |[0;0m meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
[0;36m976 |[0;0m ) -> LawSuite {
[0;36m977 |[0;0m lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (T, T) -> Bool' may introduce data races[0;0m
[0;36m978 |[0;0m }
[0;36m979 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m983 |[0;0m to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
[0;36m984 |[0;0m ) -> LawSuite {
[0;36m985 |[0;0m homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m986 |[0;0m }
[0;36m987 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m993 |[0;0m monoidHomomorphism(
[0;36m994 |[0;0m gen, fLabel, f, from: opALabel, opA, identity: identityA,
[0;36m995 |[0;0m to: opBLabel, opB, identity: identityB, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m996 |[0;0m }
[0;36m997 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m1001 |[0;0m from fromLabel: String, _ from: @escaping @Sendable (B) -> A
[0;36m1002 |[0;0m ) -> LawSuite {
[0;36m1003 |[0;0m retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m1004 |[0;0m }
[0;36m1005 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m1009 |[0;0m from fromLabel: String, _ from: @escaping @Sendable (B) -> A
[0;36m1010 |[0;0m ) -> LawSuite {
[0;36m1011 |[0;0m isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (A, A) -> Bool' may introduce data races[0;0m
[0;36m1012 |[0;0m }
[0;36m1013 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m1009 |[0;0m from fromLabel: String, _ from: @escaping @Sendable (B) -> A
[0;36m1010 |[0;0m ) -> LawSuite {
[0;36m1011 |[0;0m isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (B, B) -> Bool' may introduce data races[0;0m
[0;36m1012 |[0;0m }
[0;36m1013 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (F, F) -> Bool' may introduce data races[0;0m
[0;36m1016 |[0;0m map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
[0;36m1017 |[0;0m ) -> LawSuite {
[0;36m1018 |[0;0m functor(gen, map: map, equal: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (F, F) -> Bool' may introduce data races[0;0m
[0;36m1019 |[0;0m }
[0;36m1020 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (S, S) -> Bool' may introduce data races[0;0m
[0;36m1024 |[0;0m set: @escaping @Sendable (S, V) -> S
[0;36m1025 |[0;0m ) -> LawSuite {
[0;36m1026 |[0;0m lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (S, S) -> Bool' may introduce data races[0;0m
[0;36m1027 |[0;0m }
[0;36m1028 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (V, V) -> Bool' may introduce data races[0;0m
[0;36m1024 |[0;0m set: @escaping @Sendable (S, V) -> S
[0;36m1025 |[0;0m ) -> LawSuite {
[0;36m1026 |[0;0m lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
[0;36m|[0;0m `- [1;33mwarning: [1;39mconverting non-Sendable function value to '@Sendable (V, V) -> Bool' may introduce data races[0;0m
[0;36m1027 |[0;0m }
[0;36m1028 |[0;0m }
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.