The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Attabench, reference master (7fc220), with Swift 6.3 for macOS (SPM) on 12 Apr 2026 08:53:23 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:75:16: error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 73 |
 74 |     deinit {
 75 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 76 |         for (sink, field) in fields {
 77 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:11:26: error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
 9 | extension ObservableSetType {
10 |     public func sorted(by areInIncreasingOrder: @escaping (Element, Element) -> Bool) -> AnyObservableArray<Element> {
11 |         let comparator = Comparator(areInIncreasingOrder)
   |                          `- error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   :
37 | }
38 |
39 | private final class Comparator<Element: Equatable> {
   |                     `- note: where 'Element' = 'Self.Element'
40 |     let comparator: (Element, Element) -> Bool
41 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:13:54: error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
11 |         let comparator = Comparator(areInIncreasingOrder)
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   |                                                      `- error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
14 |             .map { [comparator] in _ = comparator; return $0.element }
15 |     }
   :
48 | }
49 |
50 | private struct ComparableWrapper<Element: Equatable>: Comparable {
   |                `- note: where 'Element' = 'Self.Element'
51 |     unowned(unsafe) let comparator: Comparator<Element>
52 |     let element: Element
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:34:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 32 |         unowned(unsafe) let owner: Owner
 33 |
 34 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 35 |             owner.applyParentUpdate(update)
 36 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:29:20: error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
 27 |     typealias Change = ArrayChange<Element>
 28 |
 29 |     private struct SortingSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 30 |         typealias Owner = SetSortingByMappingToComparable
 31 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:60:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 61 |         switch update {
 62 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:49:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 47 |         super.init()
 48 |
 49 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 50 |             let transformed = transform(element)
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:53:16: error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
 52 |         }
 53 |         parent.add(SortingSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 54 |     }
 55 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:57:16: error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 55 |
 56 |     deinit {
 57 |         parent.remove(SortingSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:25:20: error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByMappingToObservableComparable
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:121:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
119 |     }
120 |
121 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
122 |         switch update {
123 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             _ = self._insert(newElement(element))
 69 |         }
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:70:16: error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 68 |             _ = self._insert(newElement(element))
 69 |         }
 70 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 71 |     }
 72 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:74:16: error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |
 73 |     deinit {
 74 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 75 |         for (sink, field) in fields {
 76 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
[178/186] Compiling GlueKit SetSortingByMappingToObservableComparable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:27:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 25 |         unowned(unsafe) let owner: Owner
 26 |
 27 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |             owner.applyParentUpdate(update)
 29 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:22:20: error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 20 | where Field.Value: Hashable {
 21 |
 22 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 23 |         typealias Owner = SetMappingForValueField
 24 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:66:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 64 |     }
 65 |
 66 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 67 |         switch update {
 68 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 |     var observableCount: AnyObservableValue<Int> { get }
 25 |     var anyObservableValue: AnyObservableValue<Base> { get }
 26 |     var anyObservableSet: AnyObservableSet<Element> { get }
    |                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 27 | }
 28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public var anyObservableSet: AnyObservableSet<Element> {
    |                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         return AnyObservableSet(box: ObservableSetBox(self))
 70 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:49:16: error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 47 |         self.key = key
 48 |         super.init()
 49 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 50 |
 51 |         for e in parent.value {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     var isBuffered: Bool { get }
 18 |     var count: Int { get }
 19 |     var value: Set<Element> { get }
    |                `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:51:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 49 |         parent.add(ParentSink(owner: self))
 50 |
 51 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 52 |             let field = key(e)
 53 |             field.add(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:59:16: error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 57 |
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 60 |         for e in parent.value {
 61 |             let field = key(e)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:60:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
 60 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 61 |             let field = key(e)
 62 |             field.remove(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     var value: Set<Element> { get }
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 22 |     func isSuperset(of other: Set<Element>) -> Bool
 23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
 22 |     func isSuperset(of other: Set<Element>) -> Bool
    |                               `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |
 24 |     var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
 13 |     associatedtype Element
 14 |
 15 |     typealias Base = Set<Element>
    |                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |
 17 |     var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:10:31: error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
 8 |
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
   |                               `- error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
11 |         return UnpackedObservableSetReference(self).anyObservableSet
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:17:85: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
15 | /// A mutable reference to an `AnyObservableSet` that's also an observable set.
16 | /// You can switch to another target set without having to re-register subscribers.
17 | private final class UnpackedObservableSetReference<Reference: ObservableValueType>: _BaseObservableSet<Reference.Value.Element>
   |                                                                                     `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
18 | where Reference.Value: ObservableSetType {
19 |     typealias Target = Reference.Value
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:21:24: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
19 |     typealias Target = Reference.Value
20 |     typealias Element = Target.Element
21 |     typealias Change = SetChange<Element>
   |                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
22 |
23 |     private struct ReferenceSink: UniqueOwnedSink {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:38:32: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
36 |         unowned(unsafe) let owner: Owner
37 |
38 |         func receive(_ update: SetUpdate<Reference.Value.Element>) {
   |                                `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
39 |             owner.applyTargetUpdate(update)
40 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:33:20: error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
31 |     }
32 |
33 |     private struct TargetSink: UniqueOwnedSink {
   |                    |- error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
   |                    `- note: add stubs for conformance
34 |         typealias Owner = UnpackedObservableSetReference
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:79:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
77 |     }
78 |
79 |     func applyTargetUpdate(_ update: SetUpdate<Element>) {
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
80 |         switch update {
81 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:92:25: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
90 |     override var isBuffered: Bool { return false }
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
   |                         `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:93:19: error: method does not override any method from its superclass
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
   |                   `- error: method does not override any method from its superclass
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:120:15: note: potential overridden instance method 'contains' here
118 |     open var isBuffered: Bool { return false }
119 |     open var count: Int { return value.count }
120 |     open func contains(_ member: Element) -> Bool { return value.contains(member) }
    |               `- note: potential overridden instance method 'contains' here
121 |     open func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
122 |     open func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:94:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
96 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:95:40: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
   |                                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
96 | }
97 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:11:53: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
11 |         return UnpackedObservableSetReference(self).anyObservableSet
   |                                                     `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
12 |     }
13 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:55:16: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
53 |         let target = _reference.value
54 |         _target = target
55 |         target.add(TargetSink(owner: self))
   |                `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
56 |     }
57 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:59:18: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
57 |
58 |     override func deactivate() {
59 |         _target!.remove(TargetSink(owner: self))
   |                  `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
60 |         _reference.remove(ReferenceSink(owner: self))
61 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:69:26: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
67 |         case .change(let change):
68 |             if isConnected {
69 |                 _target!.remove(TargetSink(owner: self))
   |                          `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:71:26: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
69 |                 _target!.remove(TargetSink(owner: self))
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
   |                          `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
73 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Reference.Value.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Reference.Value.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 31 |     public var count: Int { return value.count }
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
 35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
    |                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 35 |
 36 |     public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:25:20: error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByComparableField
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:115:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
113 |     }
114 |
115 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
116 |         switch update {
117 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             let key = newElement(element)
 69 |             _ = self.insert(key, element)
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:71:16: error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 69 |             _ = self.insert(key, element)
 70 |         }
 71 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:75:16: error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 73 |
 74 |     deinit {
 75 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 76 |         for (sink, field) in fields {
 77 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:11:26: error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
 9 | extension ObservableSetType {
10 |     public func sorted(by areInIncreasingOrder: @escaping (Element, Element) -> Bool) -> AnyObservableArray<Element> {
11 |         let comparator = Comparator(areInIncreasingOrder)
   |                          `- error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   :
37 | }
38 |
39 | private final class Comparator<Element: Equatable> {
   |                     `- note: where 'Element' = 'Self.Element'
40 |     let comparator: (Element, Element) -> Bool
41 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:13:54: error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
11 |         let comparator = Comparator(areInIncreasingOrder)
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   |                                                      `- error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
14 |             .map { [comparator] in _ = comparator; return $0.element }
15 |     }
   :
48 | }
49 |
50 | private struct ComparableWrapper<Element: Equatable>: Comparable {
   |                `- note: where 'Element' = 'Self.Element'
51 |     unowned(unsafe) let comparator: Comparator<Element>
52 |     let element: Element
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:34:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 32 |         unowned(unsafe) let owner: Owner
 33 |
 34 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 35 |             owner.applyParentUpdate(update)
 36 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:29:20: error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
 27 |     typealias Change = ArrayChange<Element>
 28 |
 29 |     private struct SortingSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 30 |         typealias Owner = SetSortingByMappingToComparable
 31 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:60:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 61 |         switch update {
 62 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:49:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 47 |         super.init()
 48 |
 49 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 50 |             let transformed = transform(element)
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:53:16: error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
 52 |         }
 53 |         parent.add(SortingSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 54 |     }
 55 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:57:16: error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 55 |
 56 |     deinit {
 57 |         parent.remove(SortingSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:25:20: error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByMappingToObservableComparable
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:121:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
119 |     }
120 |
121 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
122 |         switch update {
123 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             _ = self._insert(newElement(element))
 69 |         }
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:70:16: error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 68 |             _ = self._insert(newElement(element))
 69 |         }
 70 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 71 |     }
 72 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:74:16: error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |
 73 |     deinit {
 74 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 75 |         for (sink, field) in fields {
 76 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
[179/186] Compiling GlueKit SetVariable.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:27:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 25 |         unowned(unsafe) let owner: Owner
 26 |
 27 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |             owner.applyParentUpdate(update)
 29 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:22:20: error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 20 | where Field.Value: Hashable {
 21 |
 22 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 23 |         typealias Owner = SetMappingForValueField
 24 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:66:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 64 |     }
 65 |
 66 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 67 |         switch update {
 68 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 |     var observableCount: AnyObservableValue<Int> { get }
 25 |     var anyObservableValue: AnyObservableValue<Base> { get }
 26 |     var anyObservableSet: AnyObservableSet<Element> { get }
    |                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 27 | }
 28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public var anyObservableSet: AnyObservableSet<Element> {
    |                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         return AnyObservableSet(box: ObservableSetBox(self))
 70 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:49:16: error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 47 |         self.key = key
 48 |         super.init()
 49 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 50 |
 51 |         for e in parent.value {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     var isBuffered: Bool { get }
 18 |     var count: Int { get }
 19 |     var value: Set<Element> { get }
    |                `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:51:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 49 |         parent.add(ParentSink(owner: self))
 50 |
 51 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 52 |             let field = key(e)
 53 |             field.add(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:59:16: error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 57 |
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 60 |         for e in parent.value {
 61 |             let field = key(e)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:60:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
 60 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 61 |             let field = key(e)
 62 |             field.remove(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     var value: Set<Element> { get }
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 22 |     func isSuperset(of other: Set<Element>) -> Bool
 23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
 22 |     func isSuperset(of other: Set<Element>) -> Bool
    |                               `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |
 24 |     var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
 13 |     associatedtype Element
 14 |
 15 |     typealias Base = Set<Element>
    |                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |
 17 |     var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:10:31: error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
 8 |
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
   |                               `- error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
11 |         return UnpackedObservableSetReference(self).anyObservableSet
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:17:85: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
15 | /// A mutable reference to an `AnyObservableSet` that's also an observable set.
16 | /// You can switch to another target set without having to re-register subscribers.
17 | private final class UnpackedObservableSetReference<Reference: ObservableValueType>: _BaseObservableSet<Reference.Value.Element>
   |                                                                                     `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
18 | where Reference.Value: ObservableSetType {
19 |     typealias Target = Reference.Value
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:21:24: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
19 |     typealias Target = Reference.Value
20 |     typealias Element = Target.Element
21 |     typealias Change = SetChange<Element>
   |                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
22 |
23 |     private struct ReferenceSink: UniqueOwnedSink {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:38:32: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
36 |         unowned(unsafe) let owner: Owner
37 |
38 |         func receive(_ update: SetUpdate<Reference.Value.Element>) {
   |                                `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
39 |             owner.applyTargetUpdate(update)
40 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:33:20: error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
31 |     }
32 |
33 |     private struct TargetSink: UniqueOwnedSink {
   |                    |- error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
   |                    `- note: add stubs for conformance
34 |         typealias Owner = UnpackedObservableSetReference
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:79:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
77 |     }
78 |
79 |     func applyTargetUpdate(_ update: SetUpdate<Element>) {
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
80 |         switch update {
81 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:92:25: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
90 |     override var isBuffered: Bool { return false }
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
   |                         `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:93:19: error: method does not override any method from its superclass
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
   |                   `- error: method does not override any method from its superclass
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:120:15: note: potential overridden instance method 'contains' here
118 |     open var isBuffered: Bool { return false }
119 |     open var count: Int { return value.count }
120 |     open func contains(_ member: Element) -> Bool { return value.contains(member) }
    |               `- note: potential overridden instance method 'contains' here
121 |     open func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
122 |     open func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:94:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
96 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:95:40: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
   |                                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
96 | }
97 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:11:53: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
11 |         return UnpackedObservableSetReference(self).anyObservableSet
   |                                                     `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
12 |     }
13 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:55:16: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
53 |         let target = _reference.value
54 |         _target = target
55 |         target.add(TargetSink(owner: self))
   |                `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
56 |     }
57 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:59:18: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
57 |
58 |     override func deactivate() {
59 |         _target!.remove(TargetSink(owner: self))
   |                  `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
60 |         _reference.remove(ReferenceSink(owner: self))
61 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:69:26: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
67 |         case .change(let change):
68 |             if isConnected {
69 |                 _target!.remove(TargetSink(owner: self))
   |                          `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:71:26: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
69 |                 _target!.remove(TargetSink(owner: self))
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
   |                          `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
73 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Reference.Value.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Reference.Value.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 31 |     public var count: Int { return value.count }
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
 35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
    |                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 35 |
 36 |     public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:25:20: error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByComparableField
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:115:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
113 |     }
114 |
115 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
116 |         switch update {
117 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             let key = newElement(element)
 69 |             _ = self.insert(key, element)
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:71:16: error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 69 |             _ = self.insert(key, element)
 70 |         }
 71 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:75:16: error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 73 |
 74 |     deinit {
 75 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 76 |         for (sink, field) in fields {
 77 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:11:26: error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
 9 | extension ObservableSetType {
10 |     public func sorted(by areInIncreasingOrder: @escaping (Element, Element) -> Bool) -> AnyObservableArray<Element> {
11 |         let comparator = Comparator(areInIncreasingOrder)
   |                          `- error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   :
37 | }
38 |
39 | private final class Comparator<Element: Equatable> {
   |                     `- note: where 'Element' = 'Self.Element'
40 |     let comparator: (Element, Element) -> Bool
41 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:13:54: error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
11 |         let comparator = Comparator(areInIncreasingOrder)
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   |                                                      `- error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
14 |             .map { [comparator] in _ = comparator; return $0.element }
15 |     }
   :
48 | }
49 |
50 | private struct ComparableWrapper<Element: Equatable>: Comparable {
   |                `- note: where 'Element' = 'Self.Element'
51 |     unowned(unsafe) let comparator: Comparator<Element>
52 |     let element: Element
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:34:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 32 |         unowned(unsafe) let owner: Owner
 33 |
 34 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 35 |             owner.applyParentUpdate(update)
 36 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:29:20: error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
 27 |     typealias Change = ArrayChange<Element>
 28 |
 29 |     private struct SortingSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 30 |         typealias Owner = SetSortingByMappingToComparable
 31 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:60:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 61 |         switch update {
 62 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:49:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 47 |         super.init()
 48 |
 49 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 50 |             let transformed = transform(element)
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:53:16: error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
 52 |         }
 53 |         parent.add(SortingSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 54 |     }
 55 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:57:16: error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 55 |
 56 |     deinit {
 57 |         parent.remove(SortingSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:25:20: error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByMappingToObservableComparable
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:121:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
119 |     }
120 |
121 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
122 |         switch update {
123 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             _ = self._insert(newElement(element))
 69 |         }
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:70:16: error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 68 |             _ = self._insert(newElement(element))
 69 |         }
 70 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 71 |     }
 72 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:74:16: error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |
 73 |     deinit {
 74 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 75 |         for (sink, field) in fields {
 76 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
[180/186] Compiling GlueKit Signal.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:27:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 25 |         unowned(unsafe) let owner: Owner
 26 |
 27 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |             owner.applyParentUpdate(update)
 29 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:22:20: error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 20 | where Field.Value: Hashable {
 21 |
 22 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 23 |         typealias Owner = SetMappingForValueField
 24 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:66:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 64 |     }
 65 |
 66 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 67 |         switch update {
 68 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 |     var observableCount: AnyObservableValue<Int> { get }
 25 |     var anyObservableValue: AnyObservableValue<Base> { get }
 26 |     var anyObservableSet: AnyObservableSet<Element> { get }
    |                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 27 | }
 28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public var anyObservableSet: AnyObservableSet<Element> {
    |                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         return AnyObservableSet(box: ObservableSetBox(self))
 70 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:49:16: error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 47 |         self.key = key
 48 |         super.init()
 49 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 50 |
 51 |         for e in parent.value {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     var isBuffered: Bool { get }
 18 |     var count: Int { get }
 19 |     var value: Set<Element> { get }
    |                `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:51:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 49 |         parent.add(ParentSink(owner: self))
 50 |
 51 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 52 |             let field = key(e)
 53 |             field.add(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:59:16: error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 57 |
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 60 |         for e in parent.value {
 61 |             let field = key(e)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:60:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
 60 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 61 |             let field = key(e)
 62 |             field.remove(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     var value: Set<Element> { get }
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 22 |     func isSuperset(of other: Set<Element>) -> Bool
 23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
 22 |     func isSuperset(of other: Set<Element>) -> Bool
    |                               `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |
 24 |     var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
 13 |     associatedtype Element
 14 |
 15 |     typealias Base = Set<Element>
    |                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |
 17 |     var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:10:31: error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
 8 |
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
   |                               `- error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
11 |         return UnpackedObservableSetReference(self).anyObservableSet
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:17:85: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
15 | /// A mutable reference to an `AnyObservableSet` that's also an observable set.
16 | /// You can switch to another target set without having to re-register subscribers.
17 | private final class UnpackedObservableSetReference<Reference: ObservableValueType>: _BaseObservableSet<Reference.Value.Element>
   |                                                                                     `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
18 | where Reference.Value: ObservableSetType {
19 |     typealias Target = Reference.Value
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:21:24: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
19 |     typealias Target = Reference.Value
20 |     typealias Element = Target.Element
21 |     typealias Change = SetChange<Element>
   |                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
22 |
23 |     private struct ReferenceSink: UniqueOwnedSink {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:38:32: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
36 |         unowned(unsafe) let owner: Owner
37 |
38 |         func receive(_ update: SetUpdate<Reference.Value.Element>) {
   |                                `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
39 |             owner.applyTargetUpdate(update)
40 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:33:20: error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
31 |     }
32 |
33 |     private struct TargetSink: UniqueOwnedSink {
   |                    |- error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
   |                    `- note: add stubs for conformance
34 |         typealias Owner = UnpackedObservableSetReference
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:79:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
77 |     }
78 |
79 |     func applyTargetUpdate(_ update: SetUpdate<Element>) {
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
80 |         switch update {
81 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:92:25: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
90 |     override var isBuffered: Bool { return false }
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
   |                         `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:93:19: error: method does not override any method from its superclass
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
   |                   `- error: method does not override any method from its superclass
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:120:15: note: potential overridden instance method 'contains' here
118 |     open var isBuffered: Bool { return false }
119 |     open var count: Int { return value.count }
120 |     open func contains(_ member: Element) -> Bool { return value.contains(member) }
    |               `- note: potential overridden instance method 'contains' here
121 |     open func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
122 |     open func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:94:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
96 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:95:40: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
   |                                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
96 | }
97 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:11:53: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
11 |         return UnpackedObservableSetReference(self).anyObservableSet
   |                                                     `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
12 |     }
13 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:55:16: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
53 |         let target = _reference.value
54 |         _target = target
55 |         target.add(TargetSink(owner: self))
   |                `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
56 |     }
57 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:59:18: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
57 |
58 |     override func deactivate() {
59 |         _target!.remove(TargetSink(owner: self))
   |                  `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
60 |         _reference.remove(ReferenceSink(owner: self))
61 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:69:26: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
67 |         case .change(let change):
68 |             if isConnected {
69 |                 _target!.remove(TargetSink(owner: self))
   |                          `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:71:26: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
69 |                 _target!.remove(TargetSink(owner: self))
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
   |                          `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
73 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Reference.Value.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Reference.Value.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 31 |     public var count: Int { return value.count }
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
 35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
    |                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 35 |
 36 |     public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:25:20: error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByComparableField
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:115:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
113 |     }
114 |
115 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
116 |         switch update {
117 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             let key = newElement(element)
 69 |             _ = self.insert(key, element)
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:71:16: error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 69 |             _ = self.insert(key, element)
 70 |         }
 71 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:75:16: error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 73 |
 74 |     deinit {
 75 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 76 |         for (sink, field) in fields {
 77 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:11:26: error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
 9 | extension ObservableSetType {
10 |     public func sorted(by areInIncreasingOrder: @escaping (Element, Element) -> Bool) -> AnyObservableArray<Element> {
11 |         let comparator = Comparator(areInIncreasingOrder)
   |                          `- error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   :
37 | }
38 |
39 | private final class Comparator<Element: Equatable> {
   |                     `- note: where 'Element' = 'Self.Element'
40 |     let comparator: (Element, Element) -> Bool
41 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:13:54: error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
11 |         let comparator = Comparator(areInIncreasingOrder)
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   |                                                      `- error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
14 |             .map { [comparator] in _ = comparator; return $0.element }
15 |     }
   :
48 | }
49 |
50 | private struct ComparableWrapper<Element: Equatable>: Comparable {
   |                `- note: where 'Element' = 'Self.Element'
51 |     unowned(unsafe) let comparator: Comparator<Element>
52 |     let element: Element
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:34:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 32 |         unowned(unsafe) let owner: Owner
 33 |
 34 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 35 |             owner.applyParentUpdate(update)
 36 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:29:20: error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
 27 |     typealias Change = ArrayChange<Element>
 28 |
 29 |     private struct SortingSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 30 |         typealias Owner = SetSortingByMappingToComparable
 31 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:60:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 61 |         switch update {
 62 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:49:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 47 |         super.init()
 48 |
 49 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 50 |             let transformed = transform(element)
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:53:16: error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
 52 |         }
 53 |         parent.add(SortingSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 54 |     }
 55 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:57:16: error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 55 |
 56 |     deinit {
 57 |         parent.remove(SortingSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:25:20: error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByMappingToObservableComparable
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:121:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
119 |     }
120 |
121 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
122 |         switch update {
123 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             _ = self._insert(newElement(element))
 69 |         }
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:70:16: error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 68 |             _ = self._insert(newElement(element))
 69 |         }
 70 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 71 |     }
 72 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:74:16: error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |
 73 |     deinit {
 74 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 75 |         for (sink, field) in fields {
 76 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
[181/186] Compiling GlueKit SimpleSources.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:27:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 25 |         unowned(unsafe) let owner: Owner
 26 |
 27 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |             owner.applyParentUpdate(update)
 29 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:22:20: error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 20 | where Field.Value: Hashable {
 21 |
 22 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetMappingForValueField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 23 |         typealias Owner = SetMappingForValueField
 24 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:66:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 64 |     }
 65 |
 66 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 67 |         switch update {
 68 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 |     var observableCount: AnyObservableValue<Int> { get }
 25 |     var anyObservableValue: AnyObservableValue<Base> { get }
 26 |     var anyObservableSet: AnyObservableSet<Element> { get }
    |                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 27 | }
 28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public var anyObservableSet: AnyObservableSet<Element> {
    |                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         return AnyObservableSet(box: ObservableSetBox(self))
 70 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:49:16: error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 47 |         self.key = key
 48 |         super.init()
 49 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 50 |
 51 |         for e in parent.value {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     var isBuffered: Bool { get }
 18 |     var count: Int { get }
 19 |     var value: Set<Element> { get }
    |                `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:51:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 49 |         parent.add(ParentSink(owner: self))
 50 |
 51 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 52 |             let field = key(e)
 53 |             field.add(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:59:16: error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 57 |
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetMappingForValueField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 60 |         for e in parent.value {
 61 |             let field = key(e)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetMappingForValueField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetMappingForValueField.swift:60:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 58 |     deinit {
 59 |         parent.remove(ParentSink(owner: self))
 60 |         for e in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 61 |             let field = key(e)
 62 |             field.remove(FieldSink(owner: self))
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     var value: Set<Element> { get }
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 22 |     func isSuperset(of other: Set<Element>) -> Bool
 23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func contains(_ member: Element) -> Bool
 21 |     func isSubset(of other: Set<Element>) -> Bool
 22 |     func isSuperset(of other: Set<Element>) -> Bool
    |                               `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |
 24 |     var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
 13 |     associatedtype Element
 14 |
 15 |     typealias Base = Set<Element>
    |                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |
 17 |     var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:10:31: error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
 8 |
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
   |                               `- error: type 'Self.Value.Element' does not conform to protocol 'Hashable'
11 |         return UnpackedObservableSetReference(self).anyObservableSet
12 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:17:85: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
15 | /// A mutable reference to an `AnyObservableSet` that's also an observable set.
16 | /// You can switch to another target set without having to re-register subscribers.
17 | private final class UnpackedObservableSetReference<Reference: ObservableValueType>: _BaseObservableSet<Reference.Value.Element>
   |                                                                                     `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
18 | where Reference.Value: ObservableSetType {
19 |     typealias Target = Reference.Value
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:21:24: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
19 |     typealias Target = Reference.Value
20 |     typealias Element = Target.Element
21 |     typealias Change = SetChange<Element>
   |                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
22 |
23 |     private struct ReferenceSink: UniqueOwnedSink {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:38:32: error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
36 |         unowned(unsafe) let owner: Owner
37 |
38 |         func receive(_ update: SetUpdate<Reference.Value.Element>) {
   |                                `- error: type 'Reference.Value.Element' does not conform to protocol 'Hashable'
39 |             owner.applyTargetUpdate(update)
40 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:33:20: error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
31 |     }
32 |
33 |     private struct TargetSink: UniqueOwnedSink {
   |                    |- error: type 'UnpackedObservableSetReference<Reference>.TargetSink' does not conform to protocol 'SinkType'
   |                    `- note: add stubs for conformance
34 |         typealias Owner = UnpackedObservableSetReference
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:79:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
77 |     }
78 |
79 |     func applyTargetUpdate(_ update: SetUpdate<Element>) {
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
80 |         switch update {
81 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:92:25: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
90 |     override var isBuffered: Bool { return false }
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
   |                         `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:93:19: error: method does not override any method from its superclass
91 |     override var count: Int { return _reference.value.count }
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
   |                   `- error: method does not override any method from its superclass
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:120:15: note: potential overridden instance method 'contains' here
118 |     open var isBuffered: Bool { return false }
119 |     open var count: Int { return value.count }
120 |     open func contains(_ member: Element) -> Bool { return value.contains(member) }
    |               `- note: potential overridden instance method 'contains' here
121 |     open func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
122 |     open func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:94:38: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
92 |     override var value: Set<Element> { return _reference.value.value }
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
   |                                      `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
96 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:95:40: error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
93 |     override func contains(_ member: Element) -> Bool { return _reference.value.contains(member) }
94 |     override func isSubset(of other: Set<Element>) -> Bool { return _reference.value.isSubset(of: other) }
95 |     override func isSuperset(of other: Set<Element>) -> Bool { return _reference.value.isSuperset(of: other) }
   |                                        `- error: type 'UnpackedObservableSetReference<Reference>.Element' (aka 'Reference.Value.Element') does not conform to protocol 'Hashable'
96 | }
97 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:11:53: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
 9 | extension ObservableValueType where Value: ObservableSetType {
10 |     public func unpacked() -> AnyObservableSet<Value.Element> {
11 |         return UnpackedObservableSetReference(self).anyObservableSet
   |                                                     `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
12 |     }
13 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:55:16: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
53 |         let target = _reference.value
54 |         _target = target
55 |         target.add(TargetSink(owner: self))
   |                `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
56 |     }
57 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:59:18: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
57 |
58 |     override func deactivate() {
59 |         _target!.remove(TargetSink(owner: self))
   |                  `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
60 |         _reference.remove(ReferenceSink(owner: self))
61 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:69:26: error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
67 |         case .change(let change):
68 |             if isConnected {
69 |                 _target!.remove(TargetSink(owner: self))
   |                          `- error: instance method 'remove' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:71:26: error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
69 |                 _target!.remove(TargetSink(owner: self))
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
   |                          `- error: instance method 'add' requires the types 'UnpackedObservableSetReference<Reference>.TargetSink.Value' and 'Update<SetChange<Reference.Value.Element>>' be equivalent
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
73 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'UnpackedObservableSetReference<Reference>.TargetSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Reference.Value.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: cannot convert value of type 'SetChange<Reference.Value.Element>' to expected argument type 'UnpackedObservableSetReference<Reference>.Change'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetReference.swift:72:28: error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
70 |                 _target = change.new
71 |                 _target!.add(TargetSink(owner: self))
72 |                 sendChange(SetChange(from: change.old.value, to: change.new.value))
   |                            `- error: generic struct 'SetChange' requires that 'Reference.Value.Element' conform to 'Hashable'
73 |             }
74 |         case .endTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Reference.Value.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Reference.Value.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 31 |     public var count: Int { return value.count }
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
 35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
 32 |     public func contains(_ member: Element) -> Bool { return value.contains(member) }
 33 |     public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
 34 |     public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
    |                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 35 |
 36 |     public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:25:20: error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByComparableField<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByComparableField
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:115:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
113 |     }
114 |
115 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
116 |         switch update {
117 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             let key = newElement(element)
 69 |             _ = self.insert(key, element)
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:71:16: error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 69 |             _ = self.insert(key, element)
 70 |         }
 71 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparableField.swift:75:16: error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 73 |
 74 |     deinit {
 75 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByComparableField<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 76 |         for (sink, field) in fields {
 77 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByComparableField<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:11:26: error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
 9 | extension ObservableSetType {
10 |     public func sorted(by areInIncreasingOrder: @escaping (Element, Element) -> Bool) -> AnyObservableArray<Element> {
11 |         let comparator = Comparator(areInIncreasingOrder)
   |                          `- error: generic class 'Comparator' requires that 'Self.Element' conform to 'Equatable'
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   :
37 | }
38 |
39 | private final class Comparator<Element: Equatable> {
   |                     `- note: where 'Element' = 'Self.Element'
40 |     let comparator: (Element, Element) -> Bool
41 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByComparator.swift:13:54: error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
11 |         let comparator = Comparator(areInIncreasingOrder)
12 |         return self
13 |             .sortedMap(by: { [unowned comparator] in ComparableWrapper($0, comparator) })
   |                                                      `- error: generic struct 'ComparableWrapper' requires that 'Self.Element' conform to 'Equatable'
14 |             .map { [comparator] in _ = comparator; return $0.element }
15 |     }
   :
48 | }
49 |
50 | private struct ComparableWrapper<Element: Equatable>: Comparable {
   |                `- note: where 'Element' = 'Self.Element'
51 |     unowned(unsafe) let comparator: Comparator<Element>
52 |     let element: Element
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:34:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 32 |         unowned(unsafe) let owner: Owner
 33 |
 34 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 35 |             owner.applyParentUpdate(update)
 36 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:29:20: error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
 27 |     typealias Change = ArrayChange<Element>
 28 |
 29 |     private struct SortingSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToComparable<Parent, Element>.SortingSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 30 |         typealias Owner = SetSortingByMappingToComparable
 31 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:60:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 61 |         switch update {
 62 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:49:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 47 |         super.init()
 48 |
 49 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 50 |             let transformed = transform(element)
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:53:16: error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 51 |             contents[transformed] = (contents[transformed] ?? 0) + 1
 52 |         }
 53 |         parent.add(SortingSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 54 |     }
 55 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToComparable.swift:57:16: error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 55 |
 56 |     deinit {
 57 |         parent.remove(SortingSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToComparable<Parent, Element>.SortingSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:30:32: error: type 'Parent.Element' does not conform to protocol 'Hashable'
 28 |         unowned(unsafe) let owner: Owner
 29 |
 30 |         func receive(_ update: SetUpdate<Parent.Element>) {
    |                                `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
 31 |             owner.applyParentUpdate(update)
 32 |         }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:25:20: error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
 23 |     typealias Change = ArrayChange<Element>
 24 |
 25 |     private struct ParentSink: UniqueOwnedSink {
    |                    |- error: type 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink' does not conform to protocol 'SinkType'
    |                    `- note: add stubs for conformance
 26 |         typealias Owner = SetSortingByMappingToObservableComparable
 27 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/Sink.swift:10:20: note: protocol requires nested type 'Value'
  8 |
  9 | public protocol SinkType: Hashable {
 10 |     associatedtype Value
    |                    `- note: protocol requires nested type 'Value'
 11 |     func receive(_ value: Value)
 12 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:121:38: error: type 'Parent.Element' does not conform to protocol 'Hashable'
119 |     }
120 |
121 |     func applyParentUpdate(_ update: SetUpdate<Parent.Element>) {
    |                                      `- error: type 'Parent.Element' does not conform to protocol 'Hashable'
122 |         switch update {
123 |         case .beginTransaction:
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:47:20: error: no exact matches in call to instance method 'append'
 45 |         func appendHashes(to hasher: inout SipHasher) {
 46 |             hasher.append(ObjectIdentifier(owner))
 47 |             hasher.append(element)
    |                    `- error: no exact matches in call to instance method 'append'
 48 |         }
 49 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SipHash/SipHash/SipHashable.swift:55:26: note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
53 |     ///
54 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
55 |     public mutating func append<H: SipHashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'SipHashable' (requirement specified as 'H' : 'SipHashable')
56 |         value.appendHashes(to: &self)
57 |     }
   :
60 |     ///
61 |     /// - Requires: `finalize()` hasn't been called on this instance yet.
62 |     public mutating func append<H: Hashable>(_ value: H) {
   |                          `- note: candidate requires that 'Parent.Element' conform to 'Hashable' (requirement specified as 'H' : 'Hashable')
63 |         append(value.hashValue)
64 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:51:63: error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 49 |
 50 |         static func ==(left: FieldSink, right: FieldSink) -> Bool {
 51 |             return left.owner === right.owner && left.element == right.element
    |                                                               `- error: binary operator '==' cannot be applied to two 'Parent.Element' operands
 52 |         }
 53 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:67:9: error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 65 |         super.init()
 66 |
 67 |         for element in parent.value {
    |         `- error: referencing instance method 'makeIterator()' on 'Set' requires that 'Parent.Element' conform to 'Hashable'
 68 |             _ = self._insert(newElement(element))
 69 |         }
Swift.Set:1:11: note: where 'Element' = 'Parent.Element'
1 | extension Set : Sequence {
  |           `- note: where 'Element' = 'Parent.Element'
2 |     @inlinable public __consuming func makeIterator() -> Set<Element>.Iterator
3 |     @inlinable public func contains(_ member: Element) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:70:16: error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 68 |             _ = self._insert(newElement(element))
 69 |         }
 70 |         parent.add(ParentSink(owner: self))
    |                `- error: instance method 'add' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 71 |     }
 72 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetSortingByMappingToObservableComparable.swift:74:16: error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 72 |
 73 |     deinit {
 74 |         parent.remove(ParentSink(owner: self))
    |                `- error: instance method 'remove' requires the types 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value' and 'Update<SetChange<Parent.Element>>' be equivalent
 75 |         for (sink, field) in fields {
 76 |             field.remove(sink)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'SetSortingByMappingToObservableComparable<Parent, Field>.ParentSink.Value', 'Update<Self.Change>' = 'Update<SetChange<Parent.Element>>'
20 | }
21 |
warning: 'spi-builder-workspace': dependency 'siphash' is not used by any target
BUILD FAILURE 6.3 macosSpm