diff options
| author | Yotam Ofek <yotam.ofek@gmail.com> | 2025-03-15 14:14:25 +0000 |
|---|---|---|
| committer | Yotam Ofek <yotam.ofek@gmail.com> | 2025-03-15 14:14:25 +0000 |
| commit | bfe536342f3bfaacea11ad4957e541d4219ae4ea (patch) | |
| tree | abdfc545005dd4e3529273a56f6a5e252a1b5211 | |
| parent | aa95b9648ad0383a3fd73b5271dd86f848b7c00c (diff) | |
| download | rust-bfe536342f3bfaacea11ad4957e541d4219ae4ea.tar.gz rust-bfe536342f3bfaacea11ad4957e541d4219ae4ea.zip | |
Optimize multi-char string patterns
| -rw-r--r-- | library/core/src/slice/cmp.rs | 2 | ||||
| -rw-r--r-- | library/core/src/str/pattern.rs | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/library/core/src/slice/cmp.rs b/library/core/src/slice/cmp.rs index 804bdfcbb4f..da85f42926e 100644 --- a/library/core/src/slice/cmp.rs +++ b/library/core/src/slice/cmp.rs @@ -282,4 +282,4 @@ macro_rules! impl_slice_contains { }; } -impl_slice_contains!(u16, u32, u64, i16, i32, i64, f32, f64, usize, isize); +impl_slice_contains!(u16, u32, u64, i16, i32, i64, f32, f64, usize, isize, char); diff --git a/library/core/src/str/pattern.rs b/library/core/src/str/pattern.rs index 2d941adfd85..bcbbb11c83b 100644 --- a/library/core/src/str/pattern.rs +++ b/library/core/src/str/pattern.rs @@ -644,21 +644,21 @@ where impl<const N: usize> MultiCharEq for [char; N] { #[inline] fn matches(&mut self, c: char) -> bool { - self.iter().any(|&m| m == c) + self.contains(&c) } } impl<const N: usize> MultiCharEq for &[char; N] { #[inline] fn matches(&mut self, c: char) -> bool { - self.iter().any(|&m| m == c) + self.contains(&c) } } impl MultiCharEq for &[char] { #[inline] fn matches(&mut self, c: char) -> bool { - self.iter().any(|&m| m == c) + self.contains(&c) } } |
