Simplify is_ident function (#104)

It's a way over-complicated
This commit is contained in:
CreepySkeleton 2019-05-24 07:44:28 +03:00 committed by David Tolnay
parent 57038ba5e4
commit a5227dab20

View File

@ -10,21 +10,10 @@ fn is_ident_continue(c: u8) -> bool {
}
fn is_ident(token: &str) -> bool {
if token.bytes().all(|digit| digit >= b'0' && digit <= b'9') {
return false;
}
let mut bytes = token.bytes();
let first = bytes.next().unwrap();
if !is_ident_start(first) {
return false;
}
for ch in bytes {
if !is_ident_continue(ch) {
return false;
}
}
true
let mut iter = token.bytes();
let first_ok = iter.next().map(is_ident_start).unwrap_or(false);
first_ok && iter.all(is_ident_continue)
}
pub fn parse(tokens: &mut TokenStream, span: Span, s: &str) {