1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
pub trait _StrExt {
    fn _is_char_boundary(&self, index: usize) -> bool;
}

impl _StrExt for str {
    #[inline]
    fn _is_char_boundary(&self, index: usize) -> bool {
        if index == self.len() {
            return true;
        }
        match self.as_bytes().get(index) {
            None => false,
            Some(&b) => b < 128 || b >= 192,
        }
    }
}