use unwrap_unchecked where possible

This commit is contained in:
ibraheemdev 2021-08-30 16:13:56 -04:00
parent 6cfa773583
commit b99038f478
3 changed files with 5 additions and 11 deletions

View file

@ -300,7 +300,7 @@ impl<T> LinkedList<T> {
let tail = self.tail.take();
let len = mem::replace(&mut self.len, 0);
if let Some(head) = head {
let tail = tail.unwrap_or_else(|| unsafe { core::hint::unreachable_unchecked() });
let tail = unsafe { tail.unwrap_unchecked() };
Some((head, tail, len))
} else {
None

View file

@ -459,11 +459,8 @@ where
debug_assert!(N <= iter.size_hint().1.unwrap_or(usize::MAX));
debug_assert!(N <= iter.size_hint().0);
match collect_into_array(iter) {
Some(array) => array,
// SAFETY: covered by the function contract.
None => unsafe { crate::hint::unreachable_unchecked() },
}
// SAFETY: covered by the function contract.
unsafe { collect_into_array(iter).unwrap_unchecked() }
}
/// Pulls `N` items from `iter` and returns them as an array. If the iterator

View file

@ -1198,11 +1198,8 @@ impl<T> Option<T> {
pub fn insert(&mut self, value: T) -> &mut T {
*self = Some(value);
match self {
Some(v) => v,
// SAFETY: the code above just filled the option
None => unsafe { hint::unreachable_unchecked() },
}
// SAFETY: the code above just filled the option
unsafe { self.as_mut().unwrap_unchecked() }
}
/// Inserts `value` into the option if it is [`None`], then