Skip to content

Commit b011f13

Browse files
committed
Explicitly implement OrderedSet.remove method
Was auto-implemented by superclass before this. Throws KeyError if missing, just like set.remove.
1 parent 309c314 commit b011f13

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/techcable/orderedset/_orderedset.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,17 @@ def add(self, value: T, /) -> None:
162162
"""
163163
self.append(value)
164164

165+
@override
166+
def remove(self, value: T, /) -> None:
167+
"""
168+
Remove an element from the set, throwing a KeyError if not present.
169+
170+
See [`OrderedSet.discard`] for a variant that does nothing if the item is not present.
171+
"""
172+
# set.remove will raise a KeyError for us
173+
self._unique.remove(value)
174+
self._elements.remove(value)
175+
165176
@override
166177
def discard(self, value: T, /) -> None:
167178
"""

0 commit comments

Comments
 (0)