diff options
| author | ibraheemdev <ibrah1440@gmail.com> | 2021-08-30 16:13:56 -0400 |
|---|---|---|
| committer | ibraheemdev <ibrah1440@gmail.com> | 2021-08-30 16:13:56 -0400 |
| commit | b99038f4780d918224cd1aed6da2f9d6b42e7481 (patch) | |
| tree | aa69c738cabbcf95d33f76a0001c3bfb3e3d145e | |
| parent | 6cfa773583bb5123e630668f5bfe466716225546 (diff) | |
| download | rust-b99038f4780d918224cd1aed6da2f9d6b42e7481.tar.gz rust-b99038f4780d918224cd1aed6da2f9d6b42e7481.zip | |
use `unwrap_unchecked` where possible
| -rw-r--r-- | library/alloc/src/collections/linked_list.rs | 2 | ||||
| -rw-r--r-- | library/core/src/array/mod.rs | 7 | ||||
| -rw-r--r-- | library/core/src/option.rs | 7 |
3 files changed, 5 insertions, 11 deletions
diff --git a/library/alloc/src/collections/linked_list.rs b/library/alloc/src/collections/linked_list.rs index 7aa24ff4afa..77f09a2377a 100644 --- a/library/alloc/src/collections/linked_list.rs +++ b/library/alloc/src/collections/linked_list.rs @@ -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 diff --git a/library/core/src/array/mod.rs b/library/core/src/array/mod.rs index 3c638e655dc..70cccd31b92 100644 --- a/library/core/src/array/mod.rs +++ b/library/core/src/array/mod.rs @@ -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 diff --git a/library/core/src/option.rs b/library/core/src/option.rs index 47865240f6a..9d5e03dd0de 100644 --- a/library/core/src/option.rs +++ b/library/core/src/option.rs @@ -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 |
