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