The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build GlueKit, reference master (a5766b), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 21:12:01 UTC.

Build Command

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

Build Log

242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
[119/125] Compiling GlueKit UISearchBar Glue.swift
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableArray.swift:24:9: error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 22 |
 23 |     // Required members
 24 |     var value: [Element] { get nonmutating set }
    |         `- error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 25 |     func apply(_ update: ArrayUpdate<Element>)
 26 |     subscript(index: Int) -> Element { get nonmutating set }
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:59:9: note: attempt to override property here
57 |     ///
58 |     /// The setter is nonmutating because the value ultimately needs to be stored in a reference type anyway.
59 |     var value: Value { get nonmutating set }
   |         `- note: attempt to override property here
60 |
61 |     func apply(_ update: Update<Change>)
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:11:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
  9 | public protocol UpdatableSetType: ObservableSetType, UpdatableType {
 10 |     var value: Base { get nonmutating set }
 11 |     func apply(_ update: SetUpdate<Element>)
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 12 |
 13 |     // Optional members
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:17:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 15 |     func insert(_ member: Element)
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:18:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:19:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:20:28: error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
    |                            `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:22:46: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
    |                                              `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
 24 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:23:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 | }
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:48:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 46 |     }
 47 |
 48 |     public func formUnion(_ other: Set<Element>) {
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:54:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 52 |     }
 53 |
 54 |     public func formIntersection(_ other: Set<Element>) {
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:60:50: error: type 'Self.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     public func formSymmetricDifference(_ other: Set<Element>) {
    |                                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:68:35: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public func subtract(_ other: Set<Element>) {
    |                                   `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:74:45: error: type 'Self.Element' does not conform to protocol 'Hashable'
 72 |     }
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
    |                                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
 76 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:78:53: error: type 'Self.Element' does not conform to protocol 'Hashable'
 76 |     }
 77 |
 78 |     public var anyUpdatableValue: AnyUpdatableValue<Set<Element>> {
    |                                                     `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 79 |         return AnyUpdatableValue(
 80 |             getter: { self.value },
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:85:33: error: type 'Self.Element' does not conform to protocol 'Hashable'
 83 |     }
 84 |
 85 |     public var anyUpdatableSet: AnyUpdatableSet<Element> {
    |                                 `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 86 |         return AnyUpdatableSet(box: UpdatableSetBox(self))
 87 |     }
/Users/admin/builder/spi-builder-workspace/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/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/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/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/Sources/UpdatableSet.swift:241:58: error: type 'Contents.Element' does not conform to protocol 'Hashable'
239 | }
240 |
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
    |                                                          `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:243:24: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
[120/125] Compiling GlueKit UISwitch Glue.swift
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableArray.swift:24:9: error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 22 |
 23 |     // Required members
 24 |     var value: [Element] { get nonmutating set }
    |         `- error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 25 |     func apply(_ update: ArrayUpdate<Element>)
 26 |     subscript(index: Int) -> Element { get nonmutating set }
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:59:9: note: attempt to override property here
57 |     ///
58 |     /// The setter is nonmutating because the value ultimately needs to be stored in a reference type anyway.
59 |     var value: Value { get nonmutating set }
   |         `- note: attempt to override property here
60 |
61 |     func apply(_ update: Update<Change>)
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:11:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
  9 | public protocol UpdatableSetType: ObservableSetType, UpdatableType {
 10 |     var value: Base { get nonmutating set }
 11 |     func apply(_ update: SetUpdate<Element>)
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 12 |
 13 |     // Optional members
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:17:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 15 |     func insert(_ member: Element)
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:18:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:19:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:20:28: error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
    |                            `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:22:46: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
    |                                              `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
 24 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:23:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 | }
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:48:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 46 |     }
 47 |
 48 |     public func formUnion(_ other: Set<Element>) {
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:54:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 52 |     }
 53 |
 54 |     public func formIntersection(_ other: Set<Element>) {
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:60:50: error: type 'Self.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     public func formSymmetricDifference(_ other: Set<Element>) {
    |                                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:68:35: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public func subtract(_ other: Set<Element>) {
    |                                   `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:74:45: error: type 'Self.Element' does not conform to protocol 'Hashable'
 72 |     }
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
    |                                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
 76 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:78:53: error: type 'Self.Element' does not conform to protocol 'Hashable'
 76 |     }
 77 |
 78 |     public var anyUpdatableValue: AnyUpdatableValue<Set<Element>> {
    |                                                     `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 79 |         return AnyUpdatableValue(
 80 |             getter: { self.value },
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:85:33: error: type 'Self.Element' does not conform to protocol 'Hashable'
 83 |     }
 84 |
 85 |     public var anyUpdatableSet: AnyUpdatableSet<Element> {
    |                                 `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 86 |         return AnyUpdatableSet(box: UpdatableSetBox(self))
 87 |     }
/Users/admin/builder/spi-builder-workspace/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/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/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/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/Sources/UpdatableSet.swift:241:58: error: type 'Contents.Element' does not conform to protocol 'Hashable'
239 | }
240 |
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
    |                                                          `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:243:24: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
[121/125] Compiling GlueKit UpdatableArray.swift
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableArray.swift:24:9: error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 22 |
 23 |     // Required members
 24 |     var value: [Element] { get nonmutating set }
    |         `- error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 25 |     func apply(_ update: ArrayUpdate<Element>)
 26 |     subscript(index: Int) -> Element { get nonmutating set }
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:59:9: note: attempt to override property here
57 |     ///
58 |     /// The setter is nonmutating because the value ultimately needs to be stored in a reference type anyway.
59 |     var value: Value { get nonmutating set }
   |         `- note: attempt to override property here
60 |
61 |     func apply(_ update: Update<Change>)
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:11:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
  9 | public protocol UpdatableSetType: ObservableSetType, UpdatableType {
 10 |     var value: Base { get nonmutating set }
 11 |     func apply(_ update: SetUpdate<Element>)
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 12 |
 13 |     // Optional members
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:17:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 15 |     func insert(_ member: Element)
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:18:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:19:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:20:28: error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
    |                            `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:22:46: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
    |                                              `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
 24 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:23:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 | }
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:48:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 46 |     }
 47 |
 48 |     public func formUnion(_ other: Set<Element>) {
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:54:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 52 |     }
 53 |
 54 |     public func formIntersection(_ other: Set<Element>) {
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:60:50: error: type 'Self.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     public func formSymmetricDifference(_ other: Set<Element>) {
    |                                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:68:35: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public func subtract(_ other: Set<Element>) {
    |                                   `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:74:45: error: type 'Self.Element' does not conform to protocol 'Hashable'
 72 |     }
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
    |                                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
 76 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:78:53: error: type 'Self.Element' does not conform to protocol 'Hashable'
 76 |     }
 77 |
 78 |     public var anyUpdatableValue: AnyUpdatableValue<Set<Element>> {
    |                                                     `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 79 |         return AnyUpdatableValue(
 80 |             getter: { self.value },
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:85:33: error: type 'Self.Element' does not conform to protocol 'Hashable'
 83 |     }
 84 |
 85 |     public var anyUpdatableSet: AnyUpdatableSet<Element> {
    |                                 `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 86 |         return AnyUpdatableSet(box: UpdatableSetBox(self))
 87 |     }
/Users/admin/builder/spi-builder-workspace/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/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/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/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/Sources/UpdatableSet.swift:241:58: error: type 'Contents.Element' does not conform to protocol 'Hashable'
239 | }
240 |
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
    |                                                          `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:243:24: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
[122/125] Compiling GlueKit UpdatableSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableArray.swift:24:9: error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 22 |
 23 |     // Required members
 24 |     var value: [Element] { get nonmutating set }
    |         `- error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 25 |     func apply(_ update: ArrayUpdate<Element>)
 26 |     subscript(index: Int) -> Element { get nonmutating set }
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:59:9: note: attempt to override property here
57 |     ///
58 |     /// The setter is nonmutating because the value ultimately needs to be stored in a reference type anyway.
59 |     var value: Value { get nonmutating set }
   |         `- note: attempt to override property here
60 |
61 |     func apply(_ update: Update<Change>)
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:11:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
  9 | public protocol UpdatableSetType: ObservableSetType, UpdatableType {
 10 |     var value: Base { get nonmutating set }
 11 |     func apply(_ update: SetUpdate<Element>)
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 12 |
 13 |     // Optional members
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:17:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 15 |     func insert(_ member: Element)
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:18:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:19:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:20:28: error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
    |                            `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:22:46: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
    |                                              `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
 24 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:23:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 | }
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:48:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 46 |     }
 47 |
 48 |     public func formUnion(_ other: Set<Element>) {
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:54:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 52 |     }
 53 |
 54 |     public func formIntersection(_ other: Set<Element>) {
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:60:50: error: type 'Self.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     public func formSymmetricDifference(_ other: Set<Element>) {
    |                                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:68:35: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public func subtract(_ other: Set<Element>) {
    |                                   `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:74:45: error: type 'Self.Element' does not conform to protocol 'Hashable'
 72 |     }
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
    |                                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
 76 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:78:53: error: type 'Self.Element' does not conform to protocol 'Hashable'
 76 |     }
 77 |
 78 |     public var anyUpdatableValue: AnyUpdatableValue<Set<Element>> {
    |                                                     `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 79 |         return AnyUpdatableValue(
 80 |             getter: { self.value },
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:85:33: error: type 'Self.Element' does not conform to protocol 'Hashable'
 83 |     }
 84 |
 85 |     public var anyUpdatableSet: AnyUpdatableSet<Element> {
    |                                 `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 86 |         return AnyUpdatableSet(box: UpdatableSetBox(self))
 87 |     }
/Users/admin/builder/spi-builder-workspace/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/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/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/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/Sources/UpdatableSet.swift:241:58: error: type 'Contents.Element' does not conform to protocol 'Hashable'
239 | }
240 |
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
    |                                                          `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:243:24: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
[123/125] Compiling GlueKit UpdatableValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableArray.swift:24:9: error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 22 |
 23 |     // Required members
 24 |     var value: [Element] { get nonmutating set }
    |         `- error: cannot override mutable property 'value' of type 'Self.Value' with covariant type '[Self.Element]'
 25 |     func apply(_ update: ArrayUpdate<Element>)
 26 |     subscript(index: Int) -> Element { get nonmutating set }
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:59:9: note: attempt to override property here
57 |     ///
58 |     /// The setter is nonmutating because the value ultimately needs to be stored in a reference type anyway.
59 |     var value: Value { get nonmutating set }
   |         `- note: attempt to override property here
60 |
61 |     func apply(_ update: Update<Change>)
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:11:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
  9 | public protocol UpdatableSetType: ObservableSetType, UpdatableType {
 10 |     var value: Base { get nonmutating set }
 11 |     func apply(_ update: SetUpdate<Element>)
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 12 |
 13 |     // Optional members
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:17:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
 15 |     func insert(_ member: Element)
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
    |                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:18:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 16 |     func removeAll()
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:19:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 17 |     func formUnion(_ other: Set<Element>)
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:20:28: error: type 'Self.Element' does not conform to protocol 'Hashable'
 18 |     func formIntersection(_ other: Set<Element>)
 19 |     func formSymmetricDifference(_ other: Set<Element>)
 20 |     func subtract(_ other: Set<Element>)
    |                            `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:22:46: error: type 'Self.Element' does not conform to protocol 'Hashable'
 20 |     func subtract(_ other: Set<Element>)
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
    |                                              `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
 24 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:23:26: error: type 'Self.Element' does not conform to protocol 'Hashable'
 21 |
 22 |     var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { get }
 23 |     var anyUpdatableSet: AnyUpdatableSet<Element> { get }
    |                          `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 24 | }
 25 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:48:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
 46 |     }
 47 |
 48 |     public func formUnion(_ other: Set<Element>) {
    |                                    `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:54:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
 52 |     }
 53 |
 54 |     public func formIntersection(_ other: Set<Element>) {
    |                                           `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:60:50: error: type 'Self.Element' does not conform to protocol 'Hashable'
 58 |     }
 59 |
 60 |     public func formSymmetricDifference(_ other: Set<Element>) {
    |                                                  `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:68:35: error: type 'Self.Element' does not conform to protocol 'Hashable'
 66 |     }
 67 |
 68 |     public func subtract(_ other: Set<Element>) {
    |                                   `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:74:45: error: type 'Self.Element' does not conform to protocol 'Hashable'
 72 |     }
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
    |                                             `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
 76 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:78:53: error: type 'Self.Element' does not conform to protocol 'Hashable'
 76 |     }
 77 |
 78 |     public var anyUpdatableValue: AnyUpdatableValue<Set<Element>> {
    |                                                     `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 79 |         return AnyUpdatableValue(
 80 |             getter: { self.value },
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:85:33: error: type 'Self.Element' does not conform to protocol 'Hashable'
 83 |     }
 84 |
 85 |     public var anyUpdatableSet: AnyUpdatableSet<Element> {
    |                                 `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 86 |         return AnyUpdatableSet(box: UpdatableSetBox(self))
 87 |     }
/Users/admin/builder/spi-builder-workspace/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/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/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/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/Sources/UpdatableSet.swift:241:58: error: type 'Contents.Element' does not conform to protocol 'Hashable'
239 | }
240 |
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
    |                                                          `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:243:24: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
241 | final class UpdatableSetBox<Contents: UpdatableSetType>: _AbstractUpdatableSet<Contents.Element> {
242 |     typealias Element = Contents.Element
243 |     typealias Change = SetChange<Element>
    |                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
244 |
245 |     let contents: Contents
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:254:25: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
252 |     override var count: Int { return contents.count }
253 |
254 |     override var value: Set<Element> {
    |                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
255 |         get { return contents.value }
256 |         set { contents.value = newValue }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:259:35: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
257 |     }
258 |
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
    |                                   `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:261:19: error: method does not override any method from its superclass
142 |     open func apply(_ update: SetUpdate<Element>) { abstract() }
143 |
144 |     open func remove(_ member: Element) {
    |               `- note: potential overridden instance method 'remove' here
145 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
146 |         if contains(member) {
    :
259 |     override func apply(_ update: SetUpdate<Element>) { contents.apply(update) }
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
    |                   `- error: method does not override any method from its superclass
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:262:19: error: method does not override any method from its superclass
149 |     }
150 |
151 |     open func insert(_ member: Element) {
    |               `- note: potential overridden instance method 'insert' here
152 |         // Note: This should be kept in sync with the same member in the UpdatableSetType extension above.
153 |         if !contains(member) {
    :
260 |
261 |     override func remove(_ member: Element) { contents.remove(member) }
262 |     override func insert(_ member: Element) { contents.insert(member) }
    |                   `- error: method does not override any method from its superclass
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:264:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
262 |     override func insert(_ member: Element) { contents.insert(member) }
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:265:45: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
263 |     override func removeAll() { contents.removeAll() }
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
    |                                             `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:266:52: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
264 |     override func formUnion(_ other: Set<Element>) { contents.formUnion(other) }
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
    |                                                    `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:267:37: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
265 |     override func formIntersection(_ other: Set<Element>) { contents.formIntersection(other) }
266 |     override func formSymmetricDifference(_ other: Set<Element>) { contents.formSymmetricDifference(other) }
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
    |                                     `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:269:19: error: method does not override any method from its superclass
267 |     override func subtract(_ other: Set<Element>) { contents.subtract(other) }
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
    |                   `- error: method does not override any method from its superclass
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/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/Sources/UpdatableSet.swift:270:38: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
268 |
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
    |                                      `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:271:40: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
269 |     override func contains(_ member: Element) -> Bool { return contents.contains(member) }
270 |     override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
    |                                        `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:273:19: error: method does not override any method from its superclass
271 |     override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
274 |         contents.add(sink)
275 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:278:19: error: method does not override any method from its superclass
276 |
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
    |                   `- error: method does not override any method from its superclass
279 |         return contents.remove(sink)
280 |     }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:284:57: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
282 |     override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
    |                                                         `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
286 | }
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:285:55: error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
283 |
284 |     override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
285 |     override var anyUpdatableValue: AnyUpdatableValue<Set<Element>> { return contents.anyUpdatableValue }
    |                                                       `- error: type 'UpdatableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:30:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 28 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 29 |         if contains(member) {
 30 |             apply(SetChange(removed: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 31 |         }
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:37:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 35 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 36 |         if !contains(member) {
 37 |             apply(SetChange(inserted: [member]))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 38 |         }
 39 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:44:19: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 42 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 43 |         if !isEmpty {
 44 |             apply(SetChange(removed: self.value))
    |                   `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 45 |         }
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:51:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 49 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 50 |         let difference = other.subtracting(value)
 51 |         self.apply(SetChange(inserted: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 52 |     }
 53 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:57:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 55 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 56 |         let difference = value.subtracting(other)
 57 |         self.apply(SetChange(removed: difference))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 58 |     }
 59 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:63:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 61 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 62 |         let value = self.value
 63 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:65:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 63 |         let intersection = value.intersection(other)
 64 |         let additions = other.subtracting(value)
 65 |         self.apply(SetChange(removed: intersection, inserted: additions))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 66 |     }
 67 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:70:34: error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 68 |     public func subtract(_ other: Set<Element>) {
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
    |                                  `- error: referencing instance method 'intersection' on 'Set' requires that 'Self.Element' conform to 'Hashable'
 71 |         self.apply(SetChange(removed: intersection))
 72 |     }
Swift.Set:1:11: note: where 'Element' = 'Self.Element'
 1 | extension Set {
   |           `- note: where 'Element' = 'Self.Element'
 2 |     @inlinable public mutating func subtract(_ other: Set<Element>)
 3 |     @inlinable public func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:71:20: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 69 |         // Note: This should be kept in sync with the same member in _AbstractUpdatableSet.
 70 |         let intersection = value.intersection(other)
 71 |         self.apply(SetChange(removed: intersection))
    |                    `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
 72 |     }
 73 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:15: note: where 'Element' = 'Self.Element'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |               `- note: where 'Element' = 'Self.Element'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:75:43: error: generic parameter 'Element' could not be inferred
 73 |
 74 |     public func apply(_ update: ValueUpdate<Set<Element>>) {
 75 |         self.apply(update.map { change in SetChange(from: change.old, to: change.new) })
    |                                           |- error: generic parameter 'Element' could not be inferred
    |                                           `- note: explicitly specify the generic arguments to fix this issue
 76 |     }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SetChange.swift:9:25: note: 'Element' declared as parameter to type 'SetChange'
 7 | //
 8 |
 9 | public struct SetChange<Element: Hashable>: ChangeType {
   |                         `- note: 'Element' declared as parameter to type 'SetChange'
10 |     public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/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/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/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/Sources/ObservableSet.swift:38:54: error: type 'Self.Element' does not conform to protocol 'Hashable'
 36 |     public var isEmpty: Bool { return count == 0 }
 37 |
 38 |     internal var valueUpdates: AnySource<ValueUpdate<Set<Element>>> {
    |                                                      `- error: type 'Self.Element' does not conform to protocol 'Hashable'
 39 |         var value = self.value
 40 |         return self.updates.map { event in
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:194:25: error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
192 |         return AnyUpdatableValue(
193 |             getter: { self.value },
194 |             apply: self.apply,
    |                         `- error: cannot convert value of type '(Update<SetChange<Element>>) -> ()' to expected argument type '(Update<ValueChange<Set<Element>>>) -> Void'
195 |             updates: self.valueUpdates)
196 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Update.swift:22:20: note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
20 | ///
21 | /// Note that is perfectly legal for a transaction to include no actual changes.
22 | public enum Update<Change: ChangeType> {
   |                    `- note: arguments to generic parameter 'Change' ('ValueChange<Set<Element>>' and 'SetChange<Element>') are expected to be equal
23 |     public typealias Value = Change.Value
24 |
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:274:18: error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
272 |
273 |     override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change> {
274 |         contents.add(sink)
    |                  `- error: instance method 'add' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
275 |     }
276 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:16:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
14 |     var value: Value { get }
15 |
16 |     func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/UpdatableSet.swift:279:25: error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
277 |     @discardableResult
278 |     override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change> {
279 |         return contents.remove(sink)
    |                         `- error: instance method 'remove' requires the types 'Sink.Value' and 'Update<Contents.Change>' be equivalent
280 |     }
281 |
/Users/admin/builder/spi-builder-workspace/Sources/ObservableType.swift:19:10: note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
17 |
18 |     @discardableResult
19 |     func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<Change>
   |          `- note: where 'Sink.Value' = 'Sink.Value', 'Update<Self.Change>' = 'Update<Contents.Change>'
20 | }
21 |
BUILD FAILURE 6.1 macosSpm