use rustc_index::vec::Idx;
use smallvec::SmallVec;
-use std::{cmp::Ordering, convert::TryFrom, fmt::Debug, ops::Index};
+use std::{cmp::Ordering, fmt::Debug, ops::Index};
/// A vector clock index, this is associated with a thread id
/// but in some cases one vector index may be shared with
/// Set the element at the current index of the vector
pub fn set_at_index(&mut self, other: &Self, idx: VectorIdx) {
- let idx = idx.index();
- let mut_slice = self.get_mut_with_min_len(idx + 1);
- let slice = other.as_slice();
- mut_slice[idx] = slice[idx];
+ let mut_slice = self.get_mut_with_min_len(idx.index() + 1);
+ mut_slice[idx.index()] = other[idx];
}
/// Set the vector to the all-zero vector
Ordering::Equal => Some(order),
// Right has at least 1 element > than the implicit 0,
// so the only valid values are Ordering::Less or None.
- Ordering::Less => match order {
- Ordering::Less | Ordering::Equal => Some(Ordering::Less),
- Ordering::Greater => None,
- },
+ Ordering::Less =>
+ match order {
+ Ordering::Less | Ordering::Equal => Some(Ordering::Less),
+ Ordering::Greater => None,
+ },
// Left has at least 1 element > than the implicit 0,
// so the only valid values are Ordering::Greater or None.
- Ordering::Greater => match order {
- Ordering::Greater | Ordering::Equal => Some(Ordering::Greater),
- Ordering::Less => None,
- },
+ Ordering::Greater =>
+ match order {
+ Ordering::Greater | Ordering::Equal => Some(Ordering::Greater),
+ Ordering::Less => None,
+ },
}
}