1
Fork 0

Rollup merge of #77831 - LingMan:use_std, r=jonas-schievink

Use std methods on char instead of open coding them
This commit is contained in:
Yuki Okushi 2020-10-13 04:08:03 +09:00 committed by GitHub
commit e40ae080ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -385,7 +385,7 @@ pub mod printf {
if let Start = state { if let Start = state {
match c { match c {
'1'..='9' => { '1'..='9' => {
let end = at_next_cp_while(next, is_digit); let end = at_next_cp_while(next, char::is_ascii_digit);
match end.next_cp() { match end.next_cp() {
// Yes, this *is* the parameter. // Yes, this *is* the parameter.
Some(('$', end2)) => { Some(('$', end2)) => {
@ -427,7 +427,7 @@ pub mod printf {
move_to!(next); move_to!(next);
} }
'1'..='9' => { '1'..='9' => {
let end = at_next_cp_while(next, is_digit); let end = at_next_cp_while(next, char::is_ascii_digit);
state = Prec; state = Prec;
width = Some(Num::from_str(at.slice_between(end).unwrap(), None)); width = Some(Num::from_str(at.slice_between(end).unwrap(), None));
move_to!(end); move_to!(end);
@ -441,7 +441,7 @@ pub mod printf {
} }
if let WidthArg = state { if let WidthArg = state {
let end = at_next_cp_while(at, is_digit); let end = at_next_cp_while(at, char::is_ascii_digit);
match end.next_cp() { match end.next_cp() {
Some(('$', end2)) => { Some(('$', end2)) => {
state = Prec; state = Prec;
@ -473,7 +473,7 @@ pub mod printf {
if let PrecInner = state { if let PrecInner = state {
match c { match c {
'*' => { '*' => {
let end = at_next_cp_while(next, is_digit); let end = at_next_cp_while(next, char::is_ascii_digit);
match end.next_cp() { match end.next_cp() {
Some(('$', end2)) => { Some(('$', end2)) => {
state = Length; state = Length;
@ -488,7 +488,7 @@ pub mod printf {
} }
} }
'0'..='9' => { '0'..='9' => {
let end = at_next_cp_while(next, is_digit); let end = at_next_cp_while(next, char::is_ascii_digit);
state = Length; state = Length;
precision = Some(Num::from_str(at.slice_between(end).unwrap(), None)); precision = Some(Num::from_str(at.slice_between(end).unwrap(), None));
move_to!(end); move_to!(end);
@ -563,12 +563,12 @@ pub mod printf {
fn at_next_cp_while<F>(mut cur: Cur<'_>, mut pred: F) -> Cur<'_> fn at_next_cp_while<F>(mut cur: Cur<'_>, mut pred: F) -> Cur<'_>
where where
F: FnMut(char) -> bool, F: FnMut(&char) -> bool,
{ {
loop { loop {
match cur.next_cp() { match cur.next_cp() {
Some((c, next)) => { Some((c, next)) => {
if pred(c) { if pred(&c) {
cur = next; cur = next;
} else { } else {
return cur; return cur;
@ -579,14 +579,7 @@ pub mod printf {
} }
} }
fn is_digit(c: char) -> bool { fn is_flag(c: &char) -> bool {
match c {
'0'..='9' => true,
_ => false,
}
}
fn is_flag(c: char) -> bool {
match c { match c {
'0' | '-' | '+' | ' ' | '#' | '\'' => true, '0' | '-' | '+' | ' ' | '#' | '\'' => true,
_ => false, _ => false,
@ -723,17 +716,11 @@ pub mod shell {
} }
fn is_ident_head(c: char) -> bool { fn is_ident_head(c: char) -> bool {
match c { c.is_ascii_alphabetic() || c == '_'
'a'..='z' | 'A'..='Z' | '_' => true,
_ => false,
}
} }
fn is_ident_tail(c: char) -> bool { fn is_ident_tail(c: char) -> bool {
match c { c.is_ascii_alphanumeric() || c == '_'
'0'..='9' => true,
c => is_ident_head(c),
}
} }
#[cfg(test)] #[cfg(test)]