1 /// Searches for the given needle in the given haystack.
2 ///
3 /// If the perf-literal feature is enabled, then this uses the super optimized
4 /// memchr crate. Otherwise, it uses the naive byte-at-a-time implementation.
find_byte(needle: u8, haystack: &[u8]) -> Option<usize>5 pub fn find_byte(needle: u8, haystack: &[u8]) -> Option<usize> {
6     #[cfg(not(feature = "perf-literal"))]
7     fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
8         haystack.iter().position(|&b| b == needle)
9     }
10 
11     #[cfg(feature = "perf-literal")]
12     fn imp(needle: u8, haystack: &[u8]) -> Option<usize> {
13         use memchr::memchr;
14         memchr(needle, haystack)
15     }
16 
17     imp(needle, haystack)
18 }
19