Build Information
Failed to build Attabench, reference master (7fc220
), with Swift 6.2 (beta) for macOS (SPM) on 19 Jun 2025 01:41:28 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
| `- 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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:120:15: note: potential overridden instance method 'contains' here
118 | open var isBuffered: Bool { return false }
119 | open var count: Int { return value.count }
120 | open func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- note: potential overridden instance method 'contains' here
121 | open func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
122 | open func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/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 |
[172/186] Compiling GlueKit NSTextField Glue.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[173/186] Compiling GlueKit ObservableArray.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[174/186] Compiling GlueKit ObservableContains.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[175/186] Compiling GlueKit ObservableSet.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[176/186] Compiling GlueKit ObservableType.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[177/186] Compiling GlueKit ObservableValue.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[178/186] Compiling GlueKit OwnedSink.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[179/186] Compiling GlueKit RefList.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[180/186] Compiling GlueKit Reference.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
[181/186] Compiling GlueKit SetChange.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:30: error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: generic struct 'SetChange' requires that 'Input.Element' conform to 'Hashable'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/SetChange.swift:9:15: note: where 'Element' = 'Input.Element'
7 | //
8 |
9 | public struct SetChange<Element: Hashable>: ChangeType {
| `- note: where 'Element' = 'Input.Element'
10 | public typealias Value = Set<Element>
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: missing argument label 'where:' in call
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: missing argument label 'where:' in call
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableContains.swift:25:47: error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
23 | self._updates = input.updates.flatMap { update in
24 | update.flatMap {
25 | let old = $0.removed.contains(member)
| `- error: cannot convert value of type 'Input.Element' to expected argument type '(Input.Element) throws -> Bool'
26 | let new = $0.inserted.contains(member)
27 | if old == new {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:15:22: error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
15 | typealias Base = Set<Element>
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
16 |
17 | var isBuffered: Bool { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:19:16: error: type 'Self.Element' does not conform to protocol 'Hashable'
17 | var isBuffered: Bool { get }
18 | var count: Int { get }
19 | var value: Set<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:21:29: error: type 'Self.Element' does not conform to protocol 'Hashable'
19 | var value: Set<Element> { get }
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
22 | func isSuperset(of other: Set<Element>) -> Bool
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:22:31: error: type 'Self.Element' does not conform to protocol 'Hashable'
20 | func contains(_ member: Element) -> Bool
21 | func isSubset(of other: Set<Element>) -> Bool
22 | func isSuperset(of other: Set<Element>) -> Bool
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
23 |
24 | var observableCount: AnyObservableValue<Int> { get }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:26:27: error: type 'Self.Element' does not conform to protocol 'Hashable'
24 | var observableCount: AnyObservableValue<Int> { get }
25 | var anyObservableValue: AnyObservableValue<Base> { get }
26 | var anyObservableSet: AnyObservableSet<Element> { get }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:12:67: error: type 'Self.Element' does not conform to protocol 'Hashable'
10 | public typealias SetUpdateSource<Element: Hashable> = AnySource<Update<SetChange<Element>>>
11 |
12 | public protocol ObservableSetType: ObservableType where Change == SetChange<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
13 | associatedtype Element
14 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:33:36: error: type 'Self.Element' does not conform to protocol 'Hashable'
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
35 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:34:38: error: type 'Self.Element' does not conform to protocol 'Hashable'
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
33 | public func isSubset(of other: Set<Element>) -> Bool { return value.isSubset(of: other) }
34 | public func isSuperset(of other: Set<Element>) -> Bool { return value.isSuperset(of: other) }
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
35 |
36 | public var isEmpty: Bool { return count == 0 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:68:34: error: type 'Self.Element' does not conform to protocol 'Hashable'
66 | }
67 |
68 | public var anyObservableSet: AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
69 | return AnyObservableSet(box: ObservableSetBox(self))
70 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:159:60: error: type 'Contents.Element' does not conform to protocol 'Hashable'
157 | }
158 |
159 | final class ObservableSetBox<Contents: ObservableSetType>: _AbstractObservableSet<Contents.Element> {
| `- error: type 'Contents.Element' does not conform to protocol 'Hashable'
160 | typealias Element = Contents.Element
161 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:170:25: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
168 | override var isBuffered: Bool { return contents.isBuffered }
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:171:19: error: method does not override any method from its superclass
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) }
:
169 | override var count: Int { return contents.count }
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
| `- error: method does not override any method from its superclass
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:172:38: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
170 | override var value: Set<Element> { return contents.value }
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:173:40: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
171 | override func contains(_ member: Element) -> Bool { return contents.contains(member) }
172 | override func isSubset(of other: Set<Element>) -> Bool { return contents.isSubset(of: other) }
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:175:19: error: method does not override any method from its superclass
173 | override func isSuperset(of other: Set<Element>) -> Bool { return contents.isSuperset(of: other) }
174 |
175 | override func add<Sink: SinkType>(_ sink: Sink) where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
176 | contents.add(sink)
177 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:180:19: error: method does not override any method from its superclass
178 |
179 | @discardableResult
180 | override func remove<Sink: SinkType>(_ sink: Sink) -> Sink where Sink.Value == Update<SetChange<Element>> {
| `- error: method does not override any method from its superclass
181 | return contents.remove(sink)
182 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:185:57: error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
183 |
184 | override var observableCount: AnyObservableValue<Int> { return contents.observableCount }
185 | override var anyObservableValue: AnyObservableValue<Set<Element>> { return contents.anyObservableValue }
| `- error: type 'ObservableSetBox<Contents>.Element' (aka 'Contents.Element') does not conform to protocol 'Hashable'
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:59: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:216:42: error: type 'Self.Element' does not conform to protocol 'Hashable'
214 |
215 | extension ObservableSetType {
216 | public static func constant(_ value: Set<Element>) -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
217 | return ObservableConstantSet(value).anyObservableSet
218 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:220:43: error: type 'Self.Element' does not conform to protocol 'Hashable'
218 | }
219 |
220 | public static func emptyConstant() -> AnyObservableSet<Element> {
| `- error: type 'Self.Element' does not conform to protocol 'Hashable'
221 | return constant([])
222 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: missing argument label 'where:' in call
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: missing argument label 'where:' in call
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:32:77: error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
30 | public var isBuffered: Bool { return false }
31 | public var count: Int { return value.count }
32 | public func contains(_ member: Element) -> Bool { return value.contains(member) }
| `- error: cannot convert value of type 'Self.Element' to expected argument type '(Self.Element) throws -> Bool'
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) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:45: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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/.build/checkouts/GlueKit/Sources/ObservableSet.swift:54:69: error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
52 | update.map { change in
53 | let old = count
54 | count += numericCast(change.inserted.count - change.removed.count)
| `- error: generic struct 'SetChange' requires that 'Self.Element' conform to 'Hashable'
55 | return .init(from: old, to: count)
56 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GlueKit/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 |
Fetching https://github.com/attaswift/Benchmarking
[1/65] Fetching benchmarking
Fetched https://github.com/attaswift/Benchmarking from cache (0.57s)
Fetching https://github.com/attaswift/BigInt
Fetching https://github.com/attaswift/OptionParser
Fetching https://github.com/attaswift/SipHash
Fetching https://github.com/attaswift/GlueKit
[1/4016] Fetching gluekit
[42/4098] Fetching gluekit, optionparser
[68/8905] Fetching gluekit, optionparser, bigint
[69/9345] Fetching gluekit, optionparser, bigint, siphash
Fetched https://github.com/attaswift/GlueKit from cache (0.98s)
[4460/5329] Fetching optionparser, bigint, siphash
Fetched https://github.com/attaswift/SipHash from cache (1.12s)
Fetched https://github.com/attaswift/BigInt from cache (1.12s)
Fetched https://github.com/attaswift/OptionParser from cache (1.12s)
Computing version for https://github.com/attaswift/OptionParser
Computed https://github.com/attaswift/OptionParser at 1.0.0 (1.65s)
Computing version for https://github.com/attaswift/GlueKit
Computed https://github.com/attaswift/GlueKit at 0.2.0 (0.51s)
Fetching https://github.com/attaswift/BTree
[1/3349] Fetching btree
Fetched https://github.com/attaswift/BTree from cache (1.02s)
Computing version for https://github.com/attaswift/BTree
Computed https://github.com/attaswift/BTree at 4.1.0 (1.55s)
Computing version for https://github.com/attaswift/SipHash
Computed https://github.com/attaswift/SipHash at 1.2.2 (0.50s)
Computing version for https://github.com/attaswift/BigInt
Computed https://github.com/attaswift/BigInt at 3.1.0 (0.51s)
Creating working copy for https://github.com/attaswift/SipHash
Working copy of https://github.com/attaswift/SipHash resolved at 1.2.2
Creating working copy for https://github.com/attaswift/Benchmarking
Working copy of https://github.com/attaswift/Benchmarking resolved at master (5fb2680)
Creating working copy for https://github.com/attaswift/GlueKit
Working copy of https://github.com/attaswift/GlueKit resolved at 0.2.0
Creating working copy for https://github.com/attaswift/OptionParser
Working copy of https://github.com/attaswift/OptionParser resolved at 1.0.0
Creating working copy for https://github.com/attaswift/BigInt
Working copy of https://github.com/attaswift/BigInt resolved at 3.1.0
Creating working copy for https://github.com/attaswift/BTree
Working copy of https://github.com/attaswift/BTree resolved at 4.1.0
warning: 'spi-builder-workspace': dependency 'siphash' is not used by any target
BUILD FAILURE 6.2 macosSpm