libsyntax: use char::is_whitespace instead of custom implementations
Fixes #29590.
This commit is contained in:
parent
c12c42de0a
commit
8a27230102
3 changed files with 20 additions and 6 deletions
|
|
@ -1592,10 +1592,7 @@ impl<'a> StringReader<'a> {
|
|||
}
|
||||
|
||||
pub fn is_whitespace(c: Option<char>) -> bool {
|
||||
match c.unwrap_or('\x00') { // None can be null for now... it's not whitespace
|
||||
' ' | '\n' | '\t' | '\r' => true,
|
||||
_ => false,
|
||||
}
|
||||
c.map_or(false, char::is_whitespace)
|
||||
}
|
||||
|
||||
fn in_range(c: Option<char>, lo: char, hi: char) -> bool {
|
||||
|
|
|
|||
|
|
@ -140,9 +140,8 @@ fn scan_for_non_ws_or_end(a : &str, idx: usize) -> usize {
|
|||
i
|
||||
}
|
||||
|
||||
/// Copied from lexer.
|
||||
pub fn is_whitespace(c: char) -> bool {
|
||||
return c == ' ' || c == '\t' || c == '\r' || c == '\n';
|
||||
c.is_whitespace()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
|
|||
18
src/test/run-pass/parser-unicode-whitespace.rs
Normal file
18
src/test/run-pass/parser-unicode-whitespace.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
|
||||
// Beware editing: it has numerous whitespace characters which are important
|
||||
pub fn main() {
|
||||
assert_eq!(4 + 7 * 2
|
||||
|
||||
|
||||
/ 3 * 2 , 4 + 7 * 2 / 3 * 2);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue