Use sublice patterns to avoid computing the len
This commit is contained in:
parent
59f4ba9504
commit
ce5e49f86f
@ -599,24 +599,16 @@ impl Wtf8 {
|
||||
|
||||
#[inline]
|
||||
fn final_lead_surrogate(&self) -> Option<u16> {
|
||||
let len = self.len();
|
||||
if len < 3 {
|
||||
return None;
|
||||
}
|
||||
match self.bytes[(len - 3)..] {
|
||||
[0xED, b2 @ 0xA0..=0xAF, b3] => Some(decode_surrogate(b2, b3)),
|
||||
match self.bytes {
|
||||
[.., 0xED, b2 @ 0xA0..=0xAF, b3] => Some(decode_surrogate(*b2, *b3)),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn initial_trail_surrogate(&self) -> Option<u16> {
|
||||
let len = self.len();
|
||||
if len < 3 {
|
||||
return None;
|
||||
}
|
||||
match self.bytes[..3] {
|
||||
[0xED, b2 @ 0xB0..=0xBF, b3] => Some(decode_surrogate(b2, b3)),
|
||||
match self.bytes {
|
||||
[0xED, b2 @ 0xB0..=0xBF, b3, ..] => Some(decode_surrogate(*b2, *b3)),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user