Share UnorderedKeyError
with BTReeMap
for set API · patricklam/verify-rust-std@07f64a8 (original) (raw)
`@@ -2,7 +2,6 @@ use crate::vec::Vec;
`
2
2
`use core::borrow::Borrow;
`
3
3
`use core::cmp::Ordering::{self, Equal, Greater, Less};
`
4
4
`use core::cmp::{max, min};
`
5
``
`-
use core::error::Error;
`
6
5
`use core::fmt::{self, Debug};
`
7
6
`use core::hash::{Hash, Hasher};
`
8
7
`use core::iter::{FusedIterator, Peekable};
`
`@@ -2177,11 +2176,11 @@ impl<'a, T: Ord, A: Allocator + Clone> CursorMut<'a, T, A> {
`
2177
2176
`///
`
2178
2177
`/// If the inserted element is not greater than the element before the
`
2179
2178
`/// cursor (if any), or if it not less than the element after the cursor (if
`
2180
``
`` -
/// any), then an [UnorderedError
] is returned since this would
``
``
2179
`` +
/// any), then an [UnorderedKeyError
] is returned since this would
``
2181
2180
`` /// invalidate the [Ord
] invariant between the elements of the set.
``
2182
2181
`#[unstable(feature = "btree_cursors", issue = "107540")]
`
2183
``
`-
pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedError> {
`
2184
``
`-
self.inner.insert_after(value, SetValZST).map_err(UnorderedError::from_map_error)
`
``
2182
`+
pub fn insert_after(&mut self, value: T) -> Result<(), UnorderedKeyError> {
`
``
2183
`+
self.inner.insert_after(value, SetValZST)
`
2185
2184
`}
`
2186
2185
``
2187
2186
`/// Inserts a new element into the set in the gap that the
`
`@@ -2192,11 +2191,11 @@ impl<'a, T: Ord, A: Allocator + Clone> CursorMut<'a, T, A> {
`
2192
2191
`///
`
2193
2192
`/// If the inserted element is not greater than the element before the
`
2194
2193
`/// cursor (if any), or if it not less than the element after the cursor (if
`
2195
``
`` -
/// any), then an [UnorderedError
] is returned since this would
``
``
2194
`` +
/// any), then an [UnorderedKeyError
] is returned since this would
``
2196
2195
`` /// invalidate the [Ord
] invariant between the elements of the set.
``
2197
2196
`#[unstable(feature = "btree_cursors", issue = "107540")]
`
2198
``
`-
pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedError> {
`
2199
``
`-
self.inner.insert_before(value, SetValZST).map_err(UnorderedError::from_map_error)
`
``
2197
`+
pub fn insert_before(&mut self, value: T) -> Result<(), UnorderedKeyError> {
`
``
2198
`+
self.inner.insert_before(value, SetValZST)
`
2200
2199
`}
`
2201
2200
``
2202
2201
`` /// Removes the next element from the BTreeSet
.
``
`@@ -2218,29 +2217,8 @@ impl<'a, T: Ord, A: Allocator + Clone> CursorMut<'a, T, A> {
`
2218
2217
`}
`
2219
2218
`}
`
2220
2219
``
2221
``
`` -
/// Error type returned by [CursorMut::insert_before
] and
``
2222
``
`` -
/// [CursorMut::insert_after
] if the element being inserted is not properly
``
2223
``
`-
/// ordered with regards to adjacent elements.
`
2224
``
`-
#[derive(Clone, PartialEq, Eq, Debug)]
`
2225
2220
`#[unstable(feature = "btree_cursors", issue = "107540")]
`
2226
``
`-
pub struct UnorderedError {}
`
2227
``
-
2228
``
`-
impl UnorderedError {
`
2229
``
`-
fn from_map_error(error: super::map::UnorderedKeyError) -> Self {
`
2230
``
`-
let super::map::UnorderedKeyError {} = error;
`
2231
``
`-
Self {}
`
2232
``
`-
}
`
2233
``
`-
}
`
2234
``
-
2235
``
`-
#[unstable(feature = "btree_cursors", issue = "107540")]
`
2236
``
`-
impl fmt::Display for UnorderedError {
`
2237
``
`-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
`
2238
``
`-
write!(f, "value is not properly ordered relative to neighbors")
`
2239
``
`-
}
`
2240
``
`-
}
`
2241
``
-
2242
``
`-
#[unstable(feature = "btree_cursors", issue = "107540")]
`
2243
``
`-
impl Error for UnorderedError {}
`
``
2221
`+
pub use super::map::UnorderedKeyError;
`
2244
2222
``
2245
2223
`#[cfg(test)]
`
2246
2224
`mod tests;
`