From 7465192c7de96ac46a9c5b0200a34a6d010068ac Mon Sep 17 00:00:00 2001 From: Michael Hall Date: Tue, 15 Jun 2021 14:00:22 +1000 Subject: [PATCH] simplify logic for split_file_at_dot --- library/std/src/path.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/library/std/src/path.rs b/library/std/src/path.rs index cec8010fe24b..17e47b76cad7 100644 --- a/library/std/src/path.rs +++ b/library/std/src/path.rs @@ -346,15 +346,11 @@ fn split_file_at_dot(file: &OsStr) -> (Option<&OsStr>, Option<&OsStr>) { // only from ASCII-bounded slices of existing &OsStr values. let i = match slice[1..].iter().position(|b| *b == b'.') { Some(i) => i + 1, - None => slice.len(), + None => return (Some(file), None), }; - if i == slice.len() { - (Some(file), None) - } else { - let before = Some(&slice[..i]); - let after = Some(&slice[i + 1..]); - unsafe { (before.map(|s| u8_slice_as_os_str(s)), after.map(|s| u8_slice_as_os_str(s))) } - } + let before = &slice[..i]; + let after = &slice[i + 1..]; + unsafe { (Some(u8_slice_as_os_str(before)), Some(u8_slice_as_os_str(after))) } } ////////////////////////////////////////////////////////////////////////////////