Skip to content

Commit 4d75a0e

Browse files
committed
Extract const promoted zero to a named static
1 parent eb553bf commit 4d75a0e

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/lib.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,12 +254,14 @@ mod tables;
254254

255255
use crate::tables::{ASCII_CONTINUE, ASCII_START, CHUNK, LEAF, TRIE_CONTINUE, TRIE_START};
256256

257+
static ZERO: u8 = 0;
258+
257259
/// Whether the character has the Unicode property XID\_Start.
258260
pub fn is_xid_start(ch: char) -> bool {
259261
if ch.is_ascii() {
260262
return ASCII_START & (1 << ch as u128) != 0;
261263
}
262-
let chunk = *TRIE_START.0.get(ch as usize / 8 / CHUNK).unwrap_or(&0);
264+
let chunk = *TRIE_START.0.get(ch as usize / 8 / CHUNK).unwrap_or(&ZERO);
263265
let offset = chunk as usize * CHUNK / 2 + ch as usize / 8 % CHUNK;
264266
unsafe { LEAF.0.get_unchecked(offset) }.wrapping_shr(ch as u32 % 8) & 1 != 0
265267
}
@@ -269,7 +271,10 @@ pub fn is_xid_continue(ch: char) -> bool {
269271
if ch.is_ascii() {
270272
return ASCII_CONTINUE & (1 << ch as u128) != 0;
271273
}
272-
let chunk = *TRIE_CONTINUE.0.get(ch as usize / 8 / CHUNK).unwrap_or(&0);
274+
let chunk = *TRIE_CONTINUE
275+
.0
276+
.get(ch as usize / 8 / CHUNK)
277+
.unwrap_or(&ZERO);
273278
let offset = chunk as usize * CHUNK / 2 + ch as usize / 8 % CHUNK;
274279
unsafe { LEAF.0.get_unchecked(offset) }.wrapping_shr(ch as u32 % 8) & 1 != 0
275280
}

0 commit comments

Comments
 (0)