diff --git a/crates/edit/src/simd/memchr2.rs b/crates/edit/src/simd/memchr2.rs index 0514da05c4c..4707b9cb73b 100644 --- a/crates/edit/src/simd/memchr2.rs +++ b/crates/edit/src/simd/memchr2.rs @@ -16,7 +16,9 @@ pub fn memchr2(needle1: u8, needle2: u8, haystack: &[u8], offset: usize) -> usiz let end = beg.add(haystack.len()); let it = beg.add(offset.min(haystack.len())); let it = memchr2_raw(needle1, needle2, it, end); - it.offset_from_unsigned(beg) + let offset = it.offset_from_unsigned(beg); + std::hint::assert_unchecked(offset <= haystack.len()); + offset } }