Build Information
Failed to build hegel-swift, reference main (dca4d4), with Swift 6.1 for macOS (SPM) on 27 Sep 2026 07:33:54 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
697 | return (c: c, i: i, j: j)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:702:26: error: for-in loop requires 'C' to conform to 'Sequence'
700 | Law("count matches iteration", gen) { c in
701 | var n = 0
702 | for _ in c { n += 1 }
| `- error: for-in loop requires 'C' to conform to 'Sequence'
703 | try requireEqual("count", c.count, "elements iterated", n, ==)
704 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:96: error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
Swift.Array.init:2:19: note: where 'S' = 'C'
1 | generic struct Array {
2 | @inlinable public init<S>(_ s: S) where Element == S.Element, S : Sequence}
| `- note: where 'S' = 'C'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:39: error: static method 'stepped' requires that 'C' conform to 'Collection'
680 | /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
681 | /// cannot loop forever.
682 | static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
| `- note: where 'C' = 'C'
683 | var i = c.startIndex
684 | for _ in 0..<k { i = c.index(after: i) }
:
727 | },
728 | Law("slicing matches iteration", withRange) { t in
729 | let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
| `- error: static method 'stepped' requires that 'C' conform to 'Collection'
730 | try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
731 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:61: error: value of type 'C' has no member 'indices'
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: value of type 'C' has no member 'indices'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:76: error: value of type 'C' has no subscripts
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: value of type 'C' has no subscripts
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:709:27: error: value of type 'C' has no member 'startIndex'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
709 | var i = c.startIndex
| `- error: value of type 'C' has no member 'startIndex'
710 | var n = 0
711 | while i != c.endIndex && n <= c.count { i = c.index(after: i); n += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:67: error: value of type 'C' has no member 'distance'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'distance'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:84: error: value of type 'C' has no member 'startIndex'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'startIndex'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:102: error: value of type 'C' has no member 'endIndex'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'endIndex'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:718:32: error: value of type 'C' has no member 'count'
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
718 | "count", c.count, ==)
| `- error: value of type 'C' has no member 'count'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:34: error: value of type 'C' has no member 'index'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
721 | let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
| `- error: value of type 'C' has no member 'index'
722 | let walked = stepped(t.c, t.k)
723 | guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:44: error: value of type 'C' has no member 'startIndex'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
721 | let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
| `- error: value of type 'C' has no member 'startIndex'
722 | let walked = stepped(t.c, t.k)
723 | guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:38: error: value of type 'C' has no subscripts
727 | },
728 | Law("slicing matches iteration", withRange) { t in
729 | let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
| `- error: value of type 'C' has no subscripts
730 | try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
731 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:738:69: error: value of type 'C' has no member 'count'
736 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
737 | let c = try gen.run(tc)
738 | return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
| `- error: value of type 'C' has no member 'count'
739 | }
740 | return collectionLaws(gen) + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:742:33: error: value of type 'C' has no member 'count'
740 | return collectionLaws(gen) + [
741 | Law("index(before:) inverts index(after:)", withOffset) { t in
742 | guard t.k < t.c.count else { return }
| `- error: value of type 'C' has no member 'count'
743 | let i = stepped(t.c, t.k)
744 | let back = t.c.index(before: t.c.index(after: i))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:34: error: value of type 'C' has no member 'index'
748 | },
749 | Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
750 | let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
| `- error: value of type 'C' has no member 'index'
751 | var walked = t.c.endIndex
752 | for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:44: error: value of type 'C' has no member 'endIndex'
748 | },
749 | Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
750 | let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
| `- error: value of type 'C' has no member 'endIndex'
751 | var walked = t.c.endIndex
752 | for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:758:25: error: static method 'stepped' requires that 'C' conform to 'Collection'
680 | /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
681 | /// cannot loop forever.
682 | static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
| `- note: where 'C' = 'C'
683 | var i = c.startIndex
684 | for _ in 0..<k { i = c.index(after: i) }
:
756 | },
757 | Law("distance is antisymmetric", withOffset) { t in
758 | let i = stepped(t.c, t.k)
| `- error: static method 'stepped' requires that 'C' conform to 'Collection'
759 | try requireEqual(
760 | "distance(from: startIndex, to: i)", t.c.distance(from: t.c.startIndex, to: i),
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:39: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:58: error: type 'T' has no member 'zero'
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
| `- error: type 'T' has no member 'zero'
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:796:44: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
798 | Law("subtraction inverts addition", pair(gen)) { p in
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:799:54: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
798 | Law("subtraction inverts addition", pair(gen)) { p in
799 | try requireEqual("(a + b) - b", (p.a + p.b) - p.b, "a", p.a, equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
800 | }
801 | ])
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:41: error: binary operator '&+' cannot be applied to two 'T' operands
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:92: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:76: error: cannot convert value of type 'Int' to closure result type 'T'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'Int' to closure result type 'T'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:79: error: cannot convert value of type 'T' to expected argument type 'Int'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'T' to expected argument type 'Int'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:60: error: cannot convert value of type 'Int' to expected argument type 'T'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'Int' to expected argument type 'T'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:48: error: binary operator '&+' cannot be applied to two 'T' operands
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:64: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:42: error: binary operator '&*' cannot be applied to two 'T' operands
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: binary operator '&*' cannot be applied to two 'T' operands
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:71: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:61: error: cannot convert value of type 'Int' to expected argument type 'T'
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: cannot convert value of type 'Int' to expected argument type 'T'
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:49: error: binary operator '&*' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&*' cannot be applied to two 'T' operands
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:75: error: binary operator '&+' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:91: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: error: no exact matches in reference to operator function '=='
917 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
918 | ) -> LawSuite {
919 | semigroup(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
920 | }
921 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: error: no exact matches in reference to operator function '=='
923 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
924 | ) -> LawSuite {
925 | monoid(gen, label, op, identity: identity, equal: ==)
| `- error: no exact matches in reference to operator function '=='
926 | }
927 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: error: no exact matches in reference to operator function '=='
930 | identity: T, inverse: @escaping @Sendable (T) -> T
931 | ) -> LawSuite {
932 | group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
| `- error: no exact matches in reference to operator function '=='
933 | }
934 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: error: no exact matches in reference to operator function '=='
936 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
937 | ) -> LawSuite {
938 | commutative(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
939 | }
940 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: error: no exact matches in reference to operator function '=='
942 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
943 | ) -> LawSuite {
944 | idempotent(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
945 | }
946 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: error: no exact matches in reference to operator function '=='
948 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
949 | ) -> LawSuite {
950 | idempotent(gen, label, f, equal: ==)
| `- error: no exact matches in reference to operator function '=='
951 | }
952 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: error: no exact matches in reference to operator function '=='
954 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
955 | ) -> LawSuite {
956 | involution(gen, label, f, equal: ==)
| `- error: no exact matches in reference to operator function '=='
957 | }
958 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: error: no exact matches in reference to operator function '=='
960 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
961 | ) -> LawSuite {
962 | semilattice(gen, label, op, identity: identity, equal: ==)
| `- error: no exact matches in reference to operator function '=='
963 | }
964 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: error: no exact matches in reference to operator function '=='
967 | over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
968 | ) -> LawSuite {
969 | distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
| `- error: no exact matches in reference to operator function '=='
970 | }
971 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: error: no exact matches in reference to operator function '=='
975 | meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
976 | ) -> LawSuite {
977 | lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
| `- error: no exact matches in reference to operator function '=='
978 | }
979 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: error: no exact matches in reference to operator function '=='
983 | to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
984 | ) -> LawSuite {
985 | homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
| `- error: no exact matches in reference to operator function '=='
986 | }
987 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: error: no exact matches in reference to operator function '=='
993 | monoidHomomorphism(
994 | gen, fLabel, f, from: opALabel, opA, identity: identityA,
995 | to: opBLabel, opB, identity: identityB, equal: ==)
| `- error: no exact matches in reference to operator function '=='
996 | }
997 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: error: no exact matches in reference to operator function '=='
1001 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1002 | ) -> LawSuite {
1003 | retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
| `- error: no exact matches in reference to operator function '=='
1004 | }
1005 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: error: no exact matches in reference to operator function '=='
1009 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 | ) -> LawSuite {
1011 | isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
| `- error: no exact matches in reference to operator function '=='
1012 | }
1013 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1009 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 | ) -> LawSuite {
1011 | isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1012 | }
1013 |
Swift.Equatable:1:17: note: where 'Self' = 'B'
1 | public protocol Equatable {
| `- note: where 'Self' = 'B'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: error: no exact matches in reference to operator function '=='
1016 | map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
1017 | ) -> LawSuite {
1018 | functor(gen, map: map, equal: ==)
| `- error: no exact matches in reference to operator function '=='
1019 | }
1020 |
Swift.==:1:24: note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: error: no exact matches in reference to operator function '=='
1024 | set: @escaping @Sendable (S, V) -> S
1025 | ) -> LawSuite {
1026 | lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
| `- error: no exact matches in reference to operator function '=='
1027 | }
1028 | }
Swift.==:1:24: note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1024 | set: @escaping @Sendable (S, V) -> S
1025 | ) -> LawSuite {
1026 | lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1027 | }
1028 | }
Swift.Equatable:1:17: note: where 'Self' = 'V'
1 | public protocol Equatable {
| `- note: where 'Self' = 'V'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:83:46: error: cannot find type 'SendableMetatype' in scope
81 | // MARK: - Relation patterns
82 |
83 | extension Relation where Output: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
84 | /// The *symmetry* pattern (Zhou, Sun, Chen, Towey, TSE 2020): the output
85 | /// does not change under the follow-up transform. `sort(shuffle(xs)) ==
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:102:49: error: cannot find type 'SendableMetatype' in scope
100 | /// fajr angle gives an earlier (or equal) fajr" is
101 | /// `.monotone("…", followUp: …, \.fajr, .nonIncreasing)`.
102 | public static func monotone<V: Comparable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
103 | _ name: String,
104 | followUp: @escaping @Sendable (Input, TestCase) throws -> Input,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:92:21: error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
90 | ) -> Relation {
91 | Relation(name, followUp: followUp) { a, b in
92 | guard a == b else { throw RelationViolated("outputs differ") }
| `- error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
93 | }
94 | }
Swift.Equatable:1:17: note: where 'Self' = 'Output'
1 | public protocol Equatable {
| `- note: where 'Self' = 'Output'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:108:46: error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
106 | _ direction: Monotonicity
107 | ) -> Relation {
108 | Relation(name, followUp: followUp) { a, b in
| `- error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
109 | let (va, vb) = (value(a), value(b))
110 | switch direction {
[24/24] Compiling Hegel Metamorphic.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:591:49: error: cannot find type 'SendableMetatype' in scope
589 | /// `equivalents` — classes of values that are all `==` but differently
590 | /// represented — is what makes their premises hold for large domains.
591 | public static func equatable<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
592 | _ gen: Gen<T>, equivalents: Gen<[T]>? = nil
593 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:620:47: error: cannot find type 'SendableMetatype' in scope
618 | /// flagged. Pass `equivalents:` to make the premise hold; see
619 | /// `equatable`.
620 | public static func hashable<T: Hashable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
621 | _ gen: Gen<T>, equivalents: Gen<[T]>? = nil
622 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:648:51: error: cannot find type 'SendableMetatype' in scope
646 | /// `Comparable`: `<` is a strict total order consistent with `==`, and
647 | /// `sorted()` agrees. `Double` with NaN violates trichotomy.
648 | public static func comparable<T: Comparable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
| `- error: cannot find type 'SendableMetatype' in scope
649 | let xs = batch(gen, or: nil)
650 | return LawSuite("Comparable conformance of \(T.self)", [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:48: error: cannot find type 'SendableMetatype' in scope
686 | }
687 |
688 | static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
689 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
690 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:119: error: cannot find type 'SendableMetatype' in scope
686 | }
687 |
688 | static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
689 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
690 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:688:98: error: 'Element' is not a member type of type 'C'
686 | }
687 |
688 | static func collectionLaws<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: 'Element' is not a member type of type 'C'
689 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
690 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:64: error: cannot find type 'SendableMetatype' in scope
733 | }
734 |
735 | static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
736 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
737 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:135: error: cannot find type 'SendableMetatype' in scope
733 | }
734 |
735 | static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
736 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
737 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:735:114: error: 'Element' is not a member type of type 'C'
733 | }
734 |
735 | static func bidirectionalLaws<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> [Law] where C.Element: Equatable & SendableMetatype {
| `- error: 'Element' is not a member type of type 'C'
736 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
737 | let c = try gen.run(tc)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:51: error: cannot find type 'SendableMetatype' in scope
766 | /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
767 | /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
768 | public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
769 | LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
770 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:125: error: cannot find type 'SendableMetatype' in scope
766 | /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
767 | /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
768 | public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
769 | LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
770 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:768:104: error: 'Element' is not a member type of type 'C'
766 | /// `Collection` (read-only): `count`, `indices`, `index(after:)`,
767 | /// `index(_:offsetBy:)`, `distance` and slicing agree with iteration.
768 | public static func collection<C: Collection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite where C.Element: Equatable & SendableMetatype {
| `- error: 'Element' is not a member type of type 'C'
769 | LawSuite("Collection conformance of \(C.self)", collectionLaws(gen))
770 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:774:77: error: cannot find type 'SendableMetatype' in scope
772 | /// `Collection` laws plus `index(before:)` inverting `index(after:)`,
773 | /// negative offsets, and antisymmetric `distance`.
774 | public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
| `- error: cannot find type 'SendableMetatype' in scope
775 | where C.Element: Equatable & SendableMetatype {
776 | LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:775:34: error: cannot find type 'SendableMetatype' in scope
773 | /// negative offsets, and antisymmetric `distance`.
774 | public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
775 | where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
776 | LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
777 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:775:13: error: 'Element' is not a member type of type 'C'
773 | /// negative offsets, and antisymmetric `distance`.
774 | public static func bidirectionalCollection<C: BidirectionalCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
775 | where C.Element: Equatable & SendableMetatype {
| `- error: 'Element' is not a member type of type 'C'
776 | LawSuite("BidirectionalCollection conformance of \(C.self)", bidirectionalLaws(gen))
777 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:782:75: error: cannot find type 'SendableMetatype' in scope
780 | /// conformance's own `index(_:offsetBy:)` and `distance` overrides. (The
781 | /// O(1) requirement is not testable and is not claimed.)
782 | public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
| `- error: cannot find type 'SendableMetatype' in scope
783 | where C.Element: Equatable & SendableMetatype {
784 | LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:783:34: error: cannot find type 'SendableMetatype' in scope
781 | /// O(1) requirement is not testable and is not claimed.)
782 | public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
783 | where C.Element: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
784 | LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
785 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:783:13: error: 'Element' is not a member type of type 'C'
781 | /// O(1) requirement is not testable and is not claimed.)
782 | public static func randomAccessCollection<C: RandomAccessCollection & SendableMetatype>(_ gen: Gen<C>) -> LawSuite
783 | where C.Element: Equatable & SendableMetatype {
| `- error: 'Element' is not a member type of type 'C'
784 | LawSuite("RandomAccessCollection conformance of \(C.self)", bidirectionalLaws(gen))
785 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:792:78: error: cannot find type 'SendableMetatype' in scope
790 | /// `.zero`, and `-` inverts it. Uses the trapping operators: bound the
791 | /// generator for fixed-width integers, or use `fixedWidthRing`.
792 | public static func additiveArithmetic<T: AdditiveArithmetic & Sendable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
794 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:793:73: error: ambiguous use of operator '=='
791 | /// generator for fixed-width integers, or use `fixedWidthRing`.
792 | public static func additiveArithmetic<T: AdditiveArithmetic & Sendable & SendableMetatype>(
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
| `- error: ambiguous use of operator '=='
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
Swift.==:1:24: note: found this candidate in module 'Swift'
1 | @inlinable public func == (t0: (any Any.Type)?, t1: (any Any.Type)?) -> Bool
| `- note: found this candidate in module 'Swift'
Swift.==:1:24: note: found this candidate in module 'Swift'
1 | @inlinable public func == (lhs: (), rhs: ()) -> Bool
| `- note: found this candidate in module 'Swift'
Swift.Bool.==:2:20: note: found this candidate in module 'Swift'
1 | struct Bool {
2 | public static func == (lhs: Bool, rhs: Bool) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Character.==:2:31: note: found this candidate in module 'Swift'
1 | struct Character {
2 | @inlinable public static func == (lhs: Character, rhs: Character) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.CodingUserInfoKey.==:2:20: note: found this candidate in module 'Swift'
1 | struct CodingUserInfoKey {
2 | public static func == (lhs: CodingUserInfoKey, rhs: CodingUserInfoKey) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.OpaquePointer.==:2:31: note: found this candidate in module 'Swift'
1 | struct OpaquePointer {
2 | @inlinable public static func == (lhs: OpaquePointer, rhs: OpaquePointer) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.AnyIndex.==:2:31: note: found this candidate in module 'Swift'
1 | struct AnyIndex {
2 | @inlinable public static func == (lhs: AnyIndex, rhs: AnyIndex) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointSign.==:2:31: note: found this candidate in module 'Swift'
1 | enum FloatingPointSign {
2 | @inlinable public static func == (a: FloatingPointSign, b: FloatingPointSign) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointClassification.==:2:20: note: found this candidate in module 'Swift'
1 | enum FloatingPointClassification {
2 | public static func == (a: FloatingPointClassification, b: FloatingPointClassification) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.FloatingPointRoundingRule.==:2:20: note: found this candidate in module 'Swift'
1 | enum FloatingPointRoundingRule {
2 | public static func == (a: FloatingPointRoundingRule, b: FloatingPointRoundingRule) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.AnyHashable.==:2:20: note: found this candidate in module 'Swift'
1 | struct AnyHashable {
2 | public static func == (lhs: AnyHashable, rhs: AnyHashable) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.AnyKeyPath.==:2:20: note: found this candidate in module 'Swift'
1 | class AnyKeyPath {
2 | public static func == (a: AnyKeyPath, b: AnyKeyPath) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Unicode.Scalar.==:3:31: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | struct Scalar {
3 | @inlinable public static func == (lhs: Unicode.Scalar, rhs: Unicode.Scalar) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.ObjectIdentifier.==:2:31: note: found this candidate in module 'Swift'
1 | struct ObjectIdentifier {
2 | @inlinable public static func == (x: ObjectIdentifier, y: ObjectIdentifier) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Never.==:2:20: note: found this candidate in module 'Swift'
1 | enum Never {
2 | public static func == (a: Never, b: Never) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.String.==:2:31: note: found this candidate in module 'Swift'
1 | struct String {
2 | @inlinable public static func == (lhs: String, rhs: String) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.String.Index.==:3:31: note: found this candidate in module 'Swift'
1 | struct String {
2 | struct Index {
3 | @inlinable public static func == (lhs: String.Index, rhs: String.Index) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.GeneralCategory.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | enum GeneralCategory {
3 | public static func == (a: Unicode.GeneralCategory, b: Unicode.GeneralCategory) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.CanonicalCombiningClass.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | struct CanonicalCombiningClass {
3 | public static func == (lhs: Unicode.CanonicalCombiningClass, rhs: Unicode.CanonicalCombiningClass) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.NumericType.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | enum NumericType {
3 | public static func == (a: Unicode.NumericType, b: Unicode.NumericType) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Unicode.UTF32.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | enum UTF32 {
3 | public static func == (a: Unicode.UTF32, b: Unicode.UTF32) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.UnicodeDecodingResult.==:2:31: note: found this candidate in module 'Swift'
1 | enum UnicodeDecodingResult {
2 | @inlinable public static func == (lhs: UnicodeDecodingResult, rhs: UnicodeDecodingResult) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Unicode._CharacterRecognizer.==:3:20: note: found this candidate in module 'Swift'
1 | enum Unicode {
2 | struct _CharacterRecognizer {
3 | public static func == (left: Unicode._CharacterRecognizer, right: Unicode._CharacterRecognizer) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift._ValidUTF8Buffer.Index.==:3:31: note: found this candidate in module 'Swift'
1 | struct _ValidUTF8Buffer {
2 | struct Index {
3 | @inlinable public static func == (lhs: _ValidUTF8Buffer.Index, rhs: _ValidUTF8Buffer.Index) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.Duration.==:3:22: note: found this candidate in module 'Swift'
1 | struct Duration {
2 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
3 | public static func == (lhs: Duration, rhs: Duration) -> Bool}
| `- note: found this candidate in module 'Swift'
4 |
Swift.Mirror.DisplayStyle.==:3:20: note: found this candidate in module 'Swift'
1 | struct Mirror {
2 | enum DisplayStyle {
3 | public static func == (a: Mirror.DisplayStyle, b: Mirror.DisplayStyle) -> Bool }
| `- note: found this candidate in module 'Swift'
4 | }
5 |
Swift.UInt8.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt8 {
2 | public static func == (lhs: UInt8, rhs: UInt8) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Int8.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int8 {
2 | public static func == (lhs: Int8, rhs: Int8) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.UInt16.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt16 {
2 | public static func == (lhs: UInt16, rhs: UInt16) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Int16.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int16 {
2 | public static func == (lhs: Int16, rhs: Int16) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.UInt32.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt32 {
2 | public static func == (lhs: UInt32, rhs: UInt32) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Int32.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int32 {
2 | public static func == (lhs: Int32, rhs: Int32) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.UInt64.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt64 {
2 | public static func == (lhs: UInt64, rhs: UInt64) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Int64.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int64 {
2 | public static func == (lhs: Int64, rhs: Int64) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.UInt.==:2:20: note: found this candidate in module 'Swift'
1 | struct UInt {
2 | public static func == (lhs: UInt, rhs: UInt) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
Swift.Int.==:2:20: note: found this candidate in module 'Swift'
1 | struct Int {
2 | public static func == (lhs: Int, rhs: Int) -> Bool}
| `- note: found this candidate in module 'Swift'
3 |
_StringProcessing.RegexSemanticLevel.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexSemanticLevel {
2 | public static func == (a: RegexSemanticLevel, b: RegexSemanticLevel) -> Bool}
| `- note: found this candidate in module '_StringProcessing'
3 |
_StringProcessing.RegexWordBoundaryKind.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexWordBoundaryKind {
2 | public static func == (a: RegexWordBoundaryKind, b: RegexWordBoundaryKind) -> Bool}
| `- note: found this candidate in module '_StringProcessing'
3 |
_StringProcessing.RegexRepetitionBehavior.==:2:20: note: found this candidate in module '_StringProcessing'
1 | struct RegexRepetitionBehavior {
2 | public static func == (a: RegexRepetitionBehavior, b: RegexRepetitionBehavior) -> Bool}
| `- note: found this candidate in module '_StringProcessing'
3 |
_Concurrency.JobPriority.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct JobPriority {
2 | public static func == (lhs: JobPriority, rhs: JobPriority) -> Bool}
| `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.TaskPriority.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct TaskPriority {
2 | public static func == (lhs: TaskPriority, rhs: TaskPriority) -> Bool}
| `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.UnsafeCurrentTask.==:2:20: note: found this candidate in module '_Concurrency'
1 | struct UnsafeCurrentTask {
2 | public static func == (lhs: UnsafeCurrentTask, rhs: UnsafeCurrentTask) -> Bool}
| `- note: found this candidate in module '_Concurrency'
3 |
_Concurrency.ContinuousClock.Instant.==:3:20: note: found this candidate in module '_Concurrency'
1 | struct ContinuousClock {
2 | struct Instant {
3 | public static func == (lhs: ContinuousClock.Instant, rhs: ContinuousClock.Instant) -> Bool }
| `- note: found this candidate in module '_Concurrency'
4 | }
5 |
_Concurrency.SuspendingClock.Instant.==:4:24: note: found this candidate in module '_Concurrency'
2 | struct Instant {
3 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
4 | public static func == (lhs: SuspendingClock.Instant, rhs: SuspendingClock.Instant) -> Bool }
| `- note: found this candidate in module '_Concurrency'
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:807:73: error: cannot find type 'SendableMetatype' in scope
805 | /// with inverse `0 &- a`, `&*` a monoid distributing over `&+`. The
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
| `- error: cannot find type 'SendableMetatype' in scope
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:916:49: error: cannot find type 'SendableMetatype' in scope
914 |
915 | extension Laws {
916 | public static func semigroup<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
917 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
918 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:922:57: error: cannot find type 'SendableMetatype' in scope
920 | }
921 |
922 | public static func monoid<T: Equatable & Sendable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
923 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
924 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:928:56: error: cannot find type 'SendableMetatype' in scope
926 | }
927 |
928 | public static func group<T: Equatable & Sendable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
929 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T,
930 | identity: T, inverse: @escaping @Sendable (T) -> T
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:935:51: error: cannot find type 'SendableMetatype' in scope
933 | }
934 |
935 | public static func commutative<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
936 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
937 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:941:50: error: cannot find type 'SendableMetatype' in scope
939 | }
940 |
941 | public static func idempotent<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
942 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
943 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:947:50: error: cannot find type 'SendableMetatype' in scope
945 | }
946 |
947 | public static func idempotent<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
948 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
949 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:953:50: error: cannot find type 'SendableMetatype' in scope
951 | }
952 |
953 | public static func involution<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
954 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
955 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:959:62: error: cannot find type 'SendableMetatype' in scope
957 | }
958 |
959 | public static func semilattice<T: Equatable & Sendable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
960 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
961 | ) -> LawSuite {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:965:52: error: cannot find type 'SendableMetatype' in scope
963 | }
964 |
965 | public static func distributive<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
966 | _ gen: Gen<T>, _ mulLabel: String, _ mul: @escaping @Sendable (T, T) -> T,
967 | over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:972:47: error: cannot find type 'SendableMetatype' in scope
970 | }
971 |
972 | public static func lattice<T: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
973 | _ gen: Gen<T>,
974 | join joinLabel: String, _ join: @escaping @Sendable (T, T) -> T,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:980:55: error: cannot find type 'SendableMetatype' in scope
978 | }
979 |
980 | public static func homomorphism<A, B: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
981 | _ gen: Gen<A>, _ fLabel: String, _ f: @escaping @Sendable (A) -> B,
982 | from opALabel: String, _ opA: @escaping @Sendable (A, A) -> A,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:988:82: error: cannot find type 'SendableMetatype' in scope
986 | }
987 |
988 | public static func monoidHomomorphism<A: Sendable, B: Equatable & Sendable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
989 | _ gen: Gen<A>, _ fLabel: String, _ f: @escaping @Sendable (A) -> B,
990 | from opALabel: String, _ opA: @escaping @Sendable (A, A) -> A, identity identityA: A,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:998:50: error: cannot find type 'SendableMetatype' in scope
996 | }
997 |
998 | public static func retraction<A: Equatable & SendableMetatype, B>(
| `- error: cannot find type 'SendableMetatype' in scope
999 | _ gen: Gen<A>,
1000 | to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1006:51: error: cannot find type 'SendableMetatype' in scope
1004 | }
1005 |
1006 | public static func isomorphism<A: Equatable & SendableMetatype, B: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
1007 | _ genA: Gen<A>, _ genB: Gen<B>,
1008 | to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1006:84: error: cannot find type 'SendableMetatype' in scope
1004 | }
1005 |
1006 | public static func isomorphism<A: Equatable & SendableMetatype, B: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
1007 | _ genA: Gen<A>, _ genB: Gen<B>,
1008 | to toLabel: String, _ to: @escaping @Sendable (A) -> B,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1014:47: error: cannot find type 'SendableMetatype' in scope
1012 | }
1013 |
1014 | public static func functor<F: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
1015 | _ gen: Gen<F>,
1016 | map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1021:44: error: cannot find type 'SendableMetatype' in scope
1019 | }
1020 |
1021 | public static func lens<S: Equatable & SendableMetatype, V: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
1022 | _ states: Gen<S>, _ values: Gen<V>,
1023 | get: @escaping @Sendable (S) -> V,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1021:77: error: cannot find type 'SendableMetatype' in scope
1019 | }
1020 |
1021 | public static func lens<S: Equatable & SendableMetatype, V: Equatable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
1022 | _ states: Gen<S>, _ values: Gen<V>,
1023 | get: @escaping @Sendable (S) -> V,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:597:25: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
595 | return LawSuite("Equatable conformance of \(T.self)", [
596 | Law("reflexive", gen) { a in
597 | guard a == a else { throw LawViolated("a == a is false") }
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
598 | },
599 | Law("symmetric", xs) { xs in
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:600:66: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
598 | },
599 | Law("symmetric", xs) { xs in
600 | for (i, j) in orderedPairs(xs.count) where xs[i] == xs[j] && !(xs[j] == xs[i]) {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
601 | throw LawViolated("\(xs[i]) == \(xs[j]) but not the reverse")
602 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:600:86: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
598 | },
599 | Law("symmetric", xs) { xs in
600 | for (i, j) in orderedPairs(xs.count) where xs[i] == xs[j] && !(xs[j] == xs[i]) {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
601 | throw LawViolated("\(xs[i]) == \(xs[j]) but not the reverse")
602 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:29: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
604 | Law("transitive", xs) { xs in
605 | for (i, j, k) in orderedTriples(xs.count)
606 | where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
607 | throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
608 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:47: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
604 | Law("transitive", xs) { xs in
605 | for (i, j, k) in orderedTriples(xs.count)
606 | where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
607 | throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
608 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:606:67: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
604 | Law("transitive", xs) { xs in
605 | for (i, j, k) in orderedTriples(xs.count)
606 | where xs[i] == xs[j] && xs[j] == xs[k] && !(xs[i] == xs[k]) {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
607 | throw LawViolated("\(xs[i]) == \(xs[j]) and \(xs[j]) == \(xs[k]) but \(xs[i]) != \(xs[k])")
608 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:38: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
625 | Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
626 | for (i, j) in orderedPairs(xs.count)
627 | where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
628 | throw LawViolated(
629 | "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:56: error: value of type 'T' has no member 'hashValue'
625 | Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
626 | for (i, j) in orderedPairs(xs.count)
627 | where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
| `- error: value of type 'T' has no member 'hashValue'
628 | throw LawViolated(
629 | "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:627:75: error: value of type 'T' has no member 'hashValue'
625 | Law("a == b ⇒ hash(a) == hash(b)", xs) { xs in
626 | for (i, j) in orderedPairs(xs.count)
627 | where i < j && xs[i] == xs[j] && xs[i].hashValue != xs[j].hashValue {
| `- error: value of type 'T' has no member 'hashValue'
628 | throw LawViolated(
629 | "\(xs[i]) == \(xs[j]) but hashes differ: \(xs[i].hashValue), \(xs[j].hashValue)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:634:62: error: missing argument label 'where:' in call
632 | Law("Set counts ==-distinct values", xs) { xs in
633 | var distinct = 0
634 | for i in xs.indices where !xs[..<i].contains(xs[i]) { distinct += 1 }
| `- error: missing argument label 'where:' in call
635 | let counts = setCounts(xs)
636 | try requireEqual(
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:634:64: error: cannot convert value of type 'T' to expected argument type '(T) throws -> Bool'
632 | Law("Set counts ==-distinct values", xs) { xs in
633 | var distinct = 0
634 | for i in xs.indices where !xs[..<i].contains(xs[i]) { distinct += 1 }
| `- error: cannot convert value of type 'T' to expected argument type '(T) throws -> Bool'
635 | let counts = setCounts(xs)
636 | try requireEqual(
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:641:47: error: value of type 'T' has no member 'hashValue'
639 | },
640 | Law("hash is a function", gen) { a in
641 | try requireEqual("hash(a)", a.hashValue, "hash(a) again", a.hashValue, ==)
| `- error: value of type 'T' has no member 'hashValue'
642 | },
643 | ])
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:641:77: error: value of type 'T' has no member 'hashValue'
639 | },
640 | Law("hash is a function", gen) { a in
641 | try requireEqual("hash(a)", a.hashValue, "hash(a) again", a.hashValue, ==)
| `- error: value of type 'T' has no member 'hashValue'
642 | },
643 | ])
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:652:27: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
650 | return LawSuite("Comparable conformance of \(T.self)", [
651 | Law("irreflexive", gen) { a in
652 | guard !(a < a) else { throw LawViolated("a < a") }
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
653 | },
654 | Law("asymmetric", pair(gen)) { p in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:655:29: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
653 | },
654 | Law("asymmetric", pair(gen)) { p in
655 | guard !(p.a < p.b && p.b < p.a) else { throw LawViolated("a < b and b < a") }
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
656 | },
657 | Law("transitive", xs) { xs in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:655:42: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
653 | },
654 | Law("asymmetric", pair(gen)) { p in
655 | guard !(p.a < p.b && p.b < p.a) else { throw LawViolated("a < b and b < a") }
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
656 | },
657 | Law("transitive", xs) { xs in
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:29: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
657 | Law("transitive", xs) { xs in
658 | for (i, j, k) in orderedTriples(xs.count)
659 | where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
660 | throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
661 | }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:46: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
657 | Law("transitive", xs) { xs in
658 | for (i, j, k) in orderedTriples(xs.count)
659 | where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
660 | throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
661 | }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:659:65: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
657 | Law("transitive", xs) { xs in
658 | for (i, j, k) in orderedTriples(xs.count)
659 | where xs[i] < xs[j] && xs[j] < xs[k] && !(xs[i] < xs[k]) {
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
660 | throw LawViolated("\(xs[i]) < \(xs[j]) < \(xs[k]) but not \(xs[i]) < \(xs[k])")
661 | }
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:33: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
662 | },
663 | Law("trichotomy", pair(gen)) { p in
664 | let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
665 | guard held == 1 else {
666 | throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:44: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
662 | },
663 | Law("trichotomy", pair(gen)) { p in
664 | let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
665 | guard held == 1 else {
666 | throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:664:56: error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
662 | },
663 | Law("trichotomy", pair(gen)) { p in
664 | let held = [p.a < p.b, p.a == p.b, p.b < p.a].filter { $0 }.count
| `- error: referencing operator function '<' on 'Comparable' requires that 'T' conform to 'Comparable'
665 | guard held == 1 else {
666 | throw LawViolated("exactly one of a < b, a == b, b < a should hold; \(held) do")
Swift.Comparable:1:17: note: where 'Self' = 'T'
1 | public protocol Comparable : Equatable {
| `- note: where 'Self' = 'T'
2 | static func < (lhs: Self, rhs: Self) -> Bool
3 | static func <= (lhs: Self, rhs: Self) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:670:33: error: referencing instance method 'sorted()' on 'Sequence' requires that 'T' conform to 'Comparable'
668 | },
669 | Law("sorted() is non-decreasing", xs) { xs in
670 | let sorted = xs.sorted()
| `- error: referencing instance method 'sorted()' on 'Sequence' requires that 'T' conform to 'Comparable'
671 | for i in sorted.indices.dropLast() where sorted[i + 1] < sorted[i] {
672 | throw LawViolated("sorted() has \(sorted[i]) before \(sorted[i + 1])")
Swift.Sequence:1:11: note: where 'Self.Element' = 'T'
1 | extension Sequence where Self.Element : Comparable {
| `- note: where 'Self.Element' = 'T'
2 | @inlinable public func sorted() -> [Self.Element]
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:691:69: error: value of type 'C' has no member 'count'
689 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
690 | let c = try gen.run(tc)
691 | return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
| `- error: value of type 'C' has no member 'count'
692 | }
693 | let withRange: Gen<(c: C, i: Int, j: Int)> = Gen { tc in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:695:60: error: value of type 'C' has no member 'count'
693 | let withRange: Gen<(c: C, i: Int, j: Int)> = Gen { tc in
694 | let c = try gen.run(tc)
695 | let i = Int(try tc.drawInteger(in: 0...Int64(c.count)))
| `- error: value of type 'C' has no member 'count'
696 | let j = Int(try tc.drawInteger(in: Int64(i)...Int64(c.count)))
697 | return (c: c, i: i, j: j)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:702:26: error: for-in loop requires 'C' to conform to 'Sequence'
700 | Law("count matches iteration", gen) { c in
701 | var n = 0
702 | for _ in c { n += 1 }
| `- error: for-in loop requires 'C' to conform to 'Sequence'
703 | try requireEqual("count", c.count, "elements iterated", n, ==)
704 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:96: error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: initializer 'init(_:)' requires that 'C' conform to 'Sequence'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
Swift.Array.init:2:19: note: where 'S' = 'C'
1 | generic struct Array {
2 | @inlinable public init<S>(_ s: S) where Element == S.Element, S : Sequence}
| `- note: where 'S' = 'C'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:39: error: static method 'stepped' requires that 'C' conform to 'Collection'
680 | /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
681 | /// cannot loop forever.
682 | static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
| `- note: where 'C' = 'C'
683 | var i = c.startIndex
684 | for _ in 0..<k { i = c.index(after: i) }
:
727 | },
728 | Law("slicing matches iteration", withRange) { t in
729 | let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
| `- error: static method 'stepped' requires that 'C' conform to 'Collection'
730 | try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
731 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:61: error: value of type 'C' has no member 'indices'
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: value of type 'C' has no member 'indices'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:706:76: error: value of type 'C' has no subscripts
704 | },
705 | Law("indices and subscripts match iteration", gen) { c in
706 | try requireEqual("indices.map { c[$0] }", c.indices.map { c[$0] }, "Array(c)", Array(c), ==)
| `- error: value of type 'C' has no subscripts
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:709:27: error: value of type 'C' has no member 'startIndex'
707 | },
708 | Law("index(after:) reaches endIndex in count steps", gen) { c in
709 | var i = c.startIndex
| `- error: value of type 'C' has no member 'startIndex'
710 | var n = 0
711 | while i != c.endIndex && n <= c.count { i = c.index(after: i); n += 1 }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:67: error: value of type 'C' has no member 'distance'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'distance'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:84: error: value of type 'C' has no member 'startIndex'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'startIndex'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:717:102: error: value of type 'C' has no member 'endIndex'
715 | Law("distance(from: startIndex, to: endIndex) == count", gen) { c in
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
| `- error: value of type 'C' has no member 'endIndex'
718 | "count", c.count, ==)
719 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:718:32: error: value of type 'C' has no member 'count'
716 | try requireEqual(
717 | "distance(from: startIndex, to: endIndex)", c.distance(from: c.startIndex, to: c.endIndex),
718 | "count", c.count, ==)
| `- error: value of type 'C' has no member 'count'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:34: error: value of type 'C' has no member 'index'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
721 | let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
| `- error: value of type 'C' has no member 'index'
722 | let walked = stepped(t.c, t.k)
723 | guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:721:44: error: value of type 'C' has no member 'startIndex'
719 | },
720 | Law("index(_:offsetBy:) matches repeated index(after:)", withOffset) { t in
721 | let direct = t.c.index(t.c.startIndex, offsetBy: t.k)
| `- error: value of type 'C' has no member 'startIndex'
722 | let walked = stepped(t.c, t.k)
723 | guard direct == walked else {
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:729:38: error: value of type 'C' has no subscripts
727 | },
728 | Law("slicing matches iteration", withRange) { t in
729 | let slice = Array(t.c[stepped(t.c, t.i)..<stepped(t.c, t.j)])
| `- error: value of type 'C' has no subscripts
730 | try requireEqual("Array(c[i..<j])", slice, "Array(c)[i..<j]", Array(Array(t.c)[t.i..<t.j]), ==)
731 | },
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:738:69: error: value of type 'C' has no member 'count'
736 | let withOffset: Gen<(c: C, k: Int)> = Gen { tc in
737 | let c = try gen.run(tc)
738 | return (c: c, k: Int(try tc.drawInteger(in: 0...Int64(c.count))))
| `- error: value of type 'C' has no member 'count'
739 | }
740 | return collectionLaws(gen) + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:742:33: error: value of type 'C' has no member 'count'
740 | return collectionLaws(gen) + [
741 | Law("index(before:) inverts index(after:)", withOffset) { t in
742 | guard t.k < t.c.count else { return }
| `- error: value of type 'C' has no member 'count'
743 | let i = stepped(t.c, t.k)
744 | let back = t.c.index(before: t.c.index(after: i))
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:34: error: value of type 'C' has no member 'index'
748 | },
749 | Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
750 | let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
| `- error: value of type 'C' has no member 'index'
751 | var walked = t.c.endIndex
752 | for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:750:44: error: value of type 'C' has no member 'endIndex'
748 | },
749 | Law("index(_:offsetBy:) from endIndex matches repeated index(before:)", withOffset) { t in
750 | let direct = t.c.index(t.c.endIndex, offsetBy: -t.k)
| `- error: value of type 'C' has no member 'endIndex'
751 | var walked = t.c.endIndex
752 | for _ in 0..<t.k { walked = t.c.index(before: walked) }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:758:25: error: static method 'stepped' requires that 'C' conform to 'Collection'
680 | /// Walks `k` steps from `startIndex`, bounded so a broken `index(after:)`
681 | /// cannot loop forever.
682 | static func stepped<C: Collection>(_ c: C, _ k: Int) -> C.Index {
| `- note: where 'C' = 'C'
683 | var i = c.startIndex
684 | for _ in 0..<k { i = c.index(after: i) }
:
756 | },
757 | Law("distance is antisymmetric", withOffset) { t in
758 | let i = stepped(t.c, t.k)
| `- error: static method 'stepped' requires that 'C' conform to 'Collection'
759 | try requireEqual(
760 | "distance(from: startIndex, to: i)", t.c.distance(from: t.c.startIndex, to: i),
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:39: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:795:58: error: type 'T' has no member 'zero'
793 | _ gen: Gen<T>, equal: @escaping @Sendable (T, T) -> Bool = { $0 == $1 }
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
| `- error: type 'T' has no member 'zero'
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:796:44: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
794 | ) -> LawSuite {
795 | let m = monoid(gen, "+", { $0 + $1 }, identity: .zero, equal: equal)
796 | let c = commutative(gen, "+", { $0 + $1 }, equal: equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
798 | Law("subtraction inverts addition", pair(gen)) { p in
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:799:54: error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
797 | return LawSuite("AdditiveArithmetic conformance of \(T.self)", m.laws + c.laws + [
798 | Law("subtraction inverts addition", pair(gen)) { p in
799 | try requireEqual("(a + b) - b", (p.a + p.b) - p.b, "a", p.a, equal)
| `- error: referencing operator function '+' on 'FloatingPoint' requires that 'T' conform to 'FloatingPoint'
800 | }
801 | ])
Swift.FloatingPoint:1:17: note: where 'Self' = 'T'
1 | public protocol FloatingPoint : Hashable, SignedNumeric, Strideable where Self == Self.Magnitude {
| `- note: where 'Self' = 'T'
2 | associatedtype Exponent : SignedInteger
3 | init(sign: FloatingPointSign, exponent: Self.Exponent, significand: Self)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:41: error: binary operator '&+' cannot be applied to two 'T' operands
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:92: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:76: error: cannot convert value of type 'Int' to closure result type 'T'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'Int' to closure result type 'T'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:79: error: cannot convert value of type 'T' to expected argument type 'Int'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'T' to expected argument type 'Int'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:808:60: error: cannot convert value of type 'Int' to expected argument type 'T'
806 | /// non-wrapping operators trap and are not laws on these carriers.
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
| `- error: cannot convert value of type 'Int' to expected argument type 'T'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:48: error: binary operator '&+' cannot be applied to two 'T' operands
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:809:64: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
807 | public static func fixedWidthRing<T: FixedWidthInteger & Sendable & SendableMetatype>(_ gen: Gen<T>) -> LawSuite {
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:42: error: binary operator '&*' cannot be applied to two 'T' operands
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: binary operator '&*' cannot be applied to two 'T' operands
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:71: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:810:61: error: cannot convert value of type 'Int' to expected argument type 'T'
808 | let add = group(gen, "&+", { $0 &+ $1 }, identity: 0, inverse: { 0 &- $0 }, equal: ==)
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
| `- error: cannot convert value of type 'Int' to expected argument type 'T'
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:49: error: binary operator '&*' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&*' cannot be applied to two 'T' operands
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:75: error: binary operator '&+' cannot be applied to two 'T' operands
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: binary operator '&+' cannot be applied to two 'T' operands
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:811:91: error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
809 | let addC = commutative(gen, "&+", { $0 &+ $1 }, equal: ==)
810 | let mul = monoid(gen, "&*", { $0 &* $1 }, identity: 1, equal: ==)
811 | let dist = distributive(gen, "&*", { $0 &* $1 }, over: "&+", { $0 &+ $1 }, equal: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'T' conform to 'Equatable'
812 | return (add + addC + mul + dist).named("ring over \(T.self) (&+, &*)")
813 | }
Swift.Equatable:1:17: note: where 'Self' = 'T'
1 | public protocol Equatable {
| `- note: where 'Self' = 'T'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:919:42: error: no exact matches in reference to operator function '=='
917 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
918 | ) -> LawSuite {
919 | semigroup(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
920 | }
921 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:925:59: error: no exact matches in reference to operator function '=='
923 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
924 | ) -> LawSuite {
925 | monoid(gen, label, op, identity: identity, equal: ==)
| `- error: no exact matches in reference to operator function '=='
926 | }
927 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:932:76: error: no exact matches in reference to operator function '=='
930 | identity: T, inverse: @escaping @Sendable (T) -> T
931 | ) -> LawSuite {
932 | group(gen, label, op, identity: identity, inverse: inverse, equal: ==)
| `- error: no exact matches in reference to operator function '=='
933 | }
934 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:938:44: error: no exact matches in reference to operator function '=='
936 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
937 | ) -> LawSuite {
938 | commutative(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
939 | }
940 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:944:43: error: no exact matches in reference to operator function '=='
942 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T
943 | ) -> LawSuite {
944 | idempotent(gen, label, op, equal: ==)
| `- error: no exact matches in reference to operator function '=='
945 | }
946 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:950:42: error: no exact matches in reference to operator function '=='
948 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
949 | ) -> LawSuite {
950 | idempotent(gen, label, f, equal: ==)
| `- error: no exact matches in reference to operator function '=='
951 | }
952 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:956:42: error: no exact matches in reference to operator function '=='
954 | _ gen: Gen<T>, _ label: String, _ f: @escaping @Sendable (T) -> T
955 | ) -> LawSuite {
956 | involution(gen, label, f, equal: ==)
| `- error: no exact matches in reference to operator function '=='
957 | }
958 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:962:64: error: no exact matches in reference to operator function '=='
960 | _ gen: Gen<T>, _ label: String, _ op: @escaping @Sendable (T, T) -> T, identity: T
961 | ) -> LawSuite {
962 | semilattice(gen, label, op, identity: identity, equal: ==)
| `- error: no exact matches in reference to operator function '=='
963 | }
964 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:969:70: error: no exact matches in reference to operator function '=='
967 | over addLabel: String, _ add: @escaping @Sendable (T, T) -> T
968 | ) -> LawSuite {
969 | distributive(gen, mulLabel, mul, over: addLabel, add, equal: ==)
| `- error: no exact matches in reference to operator function '=='
970 | }
971 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:977:75: error: no exact matches in reference to operator function '=='
975 | meet meetLabel: String, _ meet: @escaping @Sendable (T, T) -> T
976 | ) -> LawSuite {
977 | lattice(gen, join: joinLabel, join, meet: meetLabel, meet, equal: ==)
| `- error: no exact matches in reference to operator function '=='
978 | }
979 |
Swift.==:1:24: note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'T' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'T' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'T' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'T' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'T' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'T' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:985:85: error: no exact matches in reference to operator function '=='
983 | to opBLabel: String, _ opB: @escaping @Sendable (B, B) -> B
984 | ) -> LawSuite {
985 | homomorphism(gen, fLabel, f, from: opALabel, opA, to: opBLabel, opB, equal: ==)
| `- error: no exact matches in reference to operator function '=='
986 | }
987 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:995:60: error: no exact matches in reference to operator function '=='
993 | monoidHomomorphism(
994 | gen, fLabel, f, from: opALabel, opA, identity: identityA,
995 | to: opBLabel, opB, identity: identityB, equal: ==)
| `- error: no exact matches in reference to operator function '=='
996 | }
997 |
Swift.==:1:24: note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'B' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'B' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'B' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'B' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'B' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'B' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1003:72: error: no exact matches in reference to operator function '=='
1001 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1002 | ) -> LawSuite {
1003 | retraction(gen, to: toLabel, to, from: fromLabel, from, equal: ==)
| `- error: no exact matches in reference to operator function '=='
1004 | }
1005 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:81: error: no exact matches in reference to operator function '=='
1009 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 | ) -> LawSuite {
1011 | isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
| `- error: no exact matches in reference to operator function '=='
1012 | }
1013 |
Swift.==:1:24: note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'A' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'A' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'A' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'A' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'A' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'A' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1011:93: error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1009 | from fromLabel: String, _ from: @escaping @Sendable (B) -> A
1010 | ) -> LawSuite {
1011 | isomorphism(genA, genB, to: toLabel, to, from: fromLabel, from, equalA: ==, equalB: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'B' conform to 'Equatable'
1012 | }
1013 |
Swift.Equatable:1:17: note: where 'Self' = 'B'
1 | public protocol Equatable {
| `- note: where 'Self' = 'B'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1018:39: error: no exact matches in reference to operator function '=='
1016 | map: @escaping @Sendable (F, @escaping @Sendable (Int) -> Int) -> F
1017 | ) -> LawSuite {
1018 | functor(gen, map: map, equal: ==)
| `- error: no exact matches in reference to operator function '=='
1019 | }
1020 |
Swift.==:1:24: note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'F' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'F' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'F' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'F' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'F' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'F' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:62: error: no exact matches in reference to operator function '=='
1024 | set: @escaping @Sendable (S, V) -> S
1025 | ) -> LawSuite {
1026 | lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
| `- error: no exact matches in reference to operator function '=='
1027 | }
1028 | }
Swift.==:1:24: note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate requires that 'S' conform to 'RawRepresentable' (requirement specified as 'T' : 'RawRepresentable')
Swift.Equatable:1:17: note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
1 | public protocol Equatable {
| `- note: candidate requires that 'S' conform to 'Equatable' (requirement specified as 'Self' : 'Equatable')
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
Swift.FloatingPoint:1:11: note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
1 | extension FloatingPoint {
| `- note: candidate requires that 'S' conform to 'FloatingPoint' (requirement specified as 'Self' : 'FloatingPoint')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | public static func < (lhs: Self, rhs: Self) -> Bool
Swift._Pointer:1:11: note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
1 | extension _Pointer {
| `- note: candidate requires that 'S' conform to '_Pointer' (requirement specified as 'Self' : '_Pointer')
2 | public static func == (lhs: Self, rhs: Self) -> Bool
3 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer
Swift.Strideable:1:11: note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
1 | extension Strideable {
| `- note: candidate requires that 'S' conform to 'Strideable' (requirement specified as 'Self' : 'Strideable')
2 | @inlinable public static func < (x: Self, y: Self) -> Bool
3 | @inlinable public static func == (x: Self, y: Self) -> Bool
Swift.SIMD:1:11: note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
1 | extension SIMD {
| `- note: candidate requires that 'S' conform to 'SIMD' (requirement specified as 'Self' : 'SIMD')
2 | public var indices: Range<Int> { get }
3 | public init(repeating value: Self.Scalar)
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Laws.swift:1026:78: error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1024 | set: @escaping @Sendable (S, V) -> S
1025 | ) -> LawSuite {
1026 | lens(states, values, get: get, set: set, equalState: ==, equalValue: ==)
| `- error: referencing operator function '==' on 'Equatable' requires that 'V' conform to 'Equatable'
1027 | }
1028 | }
Swift.Equatable:1:17: note: where 'Self' = 'V'
1 | public protocol Equatable {
| `- note: where 'Self' = 'V'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:83:46: error: cannot find type 'SendableMetatype' in scope
81 | // MARK: - Relation patterns
82 |
83 | extension Relation where Output: Equatable & SendableMetatype {
| `- error: cannot find type 'SendableMetatype' in scope
84 | /// The *symmetry* pattern (Zhou, Sun, Chen, Towey, TSE 2020): the output
85 | /// does not change under the follow-up transform. `sort(shuffle(xs)) ==
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:102:49: error: cannot find type 'SendableMetatype' in scope
100 | /// fajr angle gives an earlier (or equal) fajr" is
101 | /// `.monotone("…", followUp: …, \.fajr, .nonIncreasing)`.
102 | public static func monotone<V: Comparable & SendableMetatype>(
| `- error: cannot find type 'SendableMetatype' in scope
103 | _ name: String,
104 | followUp: @escaping @Sendable (Input, TestCase) throws -> Input,
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:92:21: error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
90 | ) -> Relation {
91 | Relation(name, followUp: followUp) { a, b in
92 | guard a == b else { throw RelationViolated("outputs differ") }
| `- error: referencing operator function '==' on 'Equatable' requires that 'Output' conform to 'Equatable'
93 | }
94 | }
Swift.Equatable:1:17: note: where 'Self' = 'Output'
1 | public protocol Equatable {
| `- note: where 'Self' = 'Output'
2 | static func == (lhs: Self, rhs: Self) -> Bool
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Hegel/Metamorphic.swift:108:46: error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
106 | _ direction: Monotonicity
107 | ) -> Relation {
108 | Relation(name, followUp: followUp) { a, b in
| `- error: contextual closure type '@Sendable (Input, Output, Input, Output) throws -> Void' expects 4 arguments, but 2 were used in closure body
109 | let (va, vb) = (value(a), value(b))
110 | switch direction {
BUILD FAILURE 6.1 macosSpm