fn count_slow(mut self) -> usize
    where
        Self: Sized,
    {
        let mut count = 0;
        while let Some(_) = self.next() {
            count += 1;
        }
        count
    }
Like `Iterator::count`, but guarantees that it gets the count by
iterating over each element without taking any specialized shortcuts.

We do this because the memchr crate may specialize `count` in certain
circumstances, and we'd generally like to measure how long it takes
to find all occurrences of a needle and not just the number of them.
benchmarks/engines/rust-memchr/main.rs