mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	 1e33dd1711
			
		
	
	
		1e33dd1711
		
	
	
	
	
		
			
			There is a logical issue around what counts as leading white-space. There is code which does a subtraction assuming that no errors will be reported inside the leading whitespace. However we compute the length of that whitespace with std::char::is_whitespace and not rustc_lexer::is_whitespace. The former will include a no-break space while later will excluded it. We can only safely make the assumption that no errors will be reported in whitespace if it is all "Rust Standard" whitespace. Indeed an error does occur in unicode whitespace if it contains a no-break space.
		
			
				
	
	
		
			14 lines
		
	
	
		
			372 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			372 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| error: unknown start of token: \u{a0}
 | ||
|   --> $DIR/emitter-overflow-bad-whitespace.rs:10:1
 | ||
|    |
 | ||
| LL |     ...
 | ||
|    | ^
 | ||
|    |
 | ||
| help: Unicode character ' ' (No-Break Space) looks like ' ' (Space), but it is not
 | ||
|    |
 | ||
| LL |                                          fn main() {              return;              }
 | ||
|    | +
 | ||
| 
 | ||
| error: aborting due to 1 previous error
 | ||
| 
 |