diff options
| author | bors <bors@rust-lang.org> | 2021-02-20 07:31:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-02-20 07:31:43 +0000 |
| commit | da5f7f10936198bad22c370118bad1ac332d2f46 (patch) | |
| tree | 507efdaaa52f5a6f051298f1c04ac595fbdd9651 | |
| parent | b75baad5c3fcb85676c4df648962e53c9756e7ba (diff) | |
| parent | ec09d7fc8bf28f52380cc7f90fb6ccf383c012ea (diff) | |
| download | rust-da5f7f10936198bad22c370118bad1ac332d2f46.tar.gz rust-da5f7f10936198bad22c370118bad1ac332d2f46.zip | |
Auto merge of #81427 - klensy:eat-digits, r=m-ou-se
simplify eat_digits Simplify eat_digits by checking values in iterator, plus decrease function size, by returning unchecked slices. https://godbolt.org/z/cxjav4
| -rw-r--r-- | library/core/src/num/dec2flt/parse.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/library/core/src/num/dec2flt/parse.rs b/library/core/src/num/dec2flt/parse.rs index 2766843155a..858cc3c9b01 100644 --- a/library/core/src/num/dec2flt/parse.rs +++ b/library/core/src/num/dec2flt/parse.rs @@ -80,11 +80,8 @@ pub fn parse_decimal(s: &str) -> ParseResult<'_> { /// Carves off decimal digits up to the first non-digit character. fn eat_digits(s: &[u8]) -> (&[u8], &[u8]) { - let mut i = 0; - while i < s.len() && b'0' <= s[i] && s[i] <= b'9' { - i += 1; - } - (&s[..i], &s[i..]) + let pos = s.iter().position(|c| !c.is_ascii_digit()).unwrap_or(s.len()); + s.split_at(pos) } /// Exponent extraction and error checking. |
