diff options
-rw-r--r-- | src/crates/library/src/sorted_unique_vector.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/crates/library/src/sorted_unique_vector.rs b/src/crates/library/src/sorted_unique_vector.rs index 5cb0099..ffba865 100644 --- a/src/crates/library/src/sorted_unique_vector.rs +++ b/src/crates/library/src/sorted_unique_vector.rs @@ -147,8 +147,7 @@ impl<T: Ord + PartialEq> Container<T> for SortedUniqueVec<T> { (define (post-remove xs r) (equal? r (op-remove xs))) *ENDLIBSPEC*/ fn remove(&mut self, elt: T) -> Option<T> { - let idx = self.iter().position(|x| *x == elt)?; - Some(self.v.remove(idx)) + self.v.remove(self.binary_search(elt).ok()?) } fn iter<'a>(&'a self) -> impl Iterator<Item = &'a T> |