pub fn is_alphabetic(self) -> bool {
match self {
'a'..='z' | 'A'..='Z' => true,
- c if c > '\x7f' => derived_property::Alphabetic(c),
- _ => false,
+ c => c > '\x7f' && derived_property::Alphabetic(c),
}
}
pub fn is_lowercase(self) -> bool {
match self {
'a'..='z' => true,
- c if c > '\x7f' => derived_property::Lowercase(c),
- _ => false,
+ c => c > '\x7f' && derived_property::Lowercase(c),
}
}
pub fn is_uppercase(self) -> bool {
match self {
'A'..='Z' => true,
- c if c > '\x7f' => derived_property::Uppercase(c),
- _ => false,
+ c => c > '\x7f' && derived_property::Uppercase(c),
}
}
pub fn is_whitespace(self) -> bool {
match self {
' ' | '\x09'..='\x0d' => true,
- c if c > '\x7f' => property::White_Space(c),
- _ => false,
+ c => c > '\x7f' && property::White_Space(c),
}
}
pub fn is_numeric(self) -> bool {
match self {
'0'..='9' => true,
- c if c > '\x7f' => general_category::N(c),
- _ => false,
+ c => c > '\x7f' && general_category::N(c),
}
}
fn next_match(&mut self) -> Option<(usize, usize)> {
loop {
// get the haystack after the last character found
- let bytes = if let Some(slice) = self.haystack.as_bytes()
- .get(self.finger..self.finger_back) {
- slice
- } else {
- return None;
- };
+ let bytes = self.haystack.as_bytes().get(self.finger..self.finger_back)?;
// the last byte of the utf8 encoded needle
let last_byte = unsafe { *self.utf8_encoded.get_unchecked(self.utf8_size - 1) };
if let Some(index) = memchr::memchr(last_byte, bytes) {