Fix invalid suggestions for non-ASCII characters in byte constants

This commit is contained in:
Fabian Wolff 2021-07-31 14:37:01 +02:00
parent fc24bcead1
commit c1abb6f4d6
6 changed files with 98 additions and 20 deletions

View file

@ -2,10 +2,12 @@ error: non-ASCII character in byte constant
--> $DIR/key-value-non-ascii.rs:3:19
|
LL | #[rustc_dummy = b"ffi.rs"]
| ^
| |
| byte constant must be ASCII
| help: use a \xHH escape for a non-ASCII byte: `\xFB03`
| ^ byte constant must be ASCII
|
help: if you meant to use the UTF-8 encoding of 'ffi', use \xHH escapes
|
LL | #[rustc_dummy = b"/xEF/xAC/x83.rs"]
| ^^^^^^^^^^^^
error: aborting due to previous error

View file

@ -36,10 +36,12 @@ error: non-ASCII character in byte constant
--> $DIR/byte-literals.rs:10:7
|
LL | b'é';
| ^
| |
| byte constant must be ASCII
| help: use a \xHH escape for a non-ASCII byte: `\xE9`
| ^ byte constant must be ASCII
|
help: if you meant to use the unicode code point for 'é', use a \xHH escape
|
LL | b'\xE9';
| ^^^^
error[E0763]: unterminated byte constant
--> $DIR/byte-literals.rs:11:6

View file

@ -24,10 +24,12 @@ error: non-ASCII character in byte constant
--> $DIR/byte-string-literals.rs:6:7
|
LL | b"é";
| ^
| |
| byte constant must be ASCII
| help: use a \xHH escape for a non-ASCII byte: `\xE9`
| ^ byte constant must be ASCII
|
help: if you meant to use the unicode code point for 'é', use a \xHH escape
|
LL | b"\xE9";
| ^^^^
error: raw byte string must be ASCII
--> $DIR/byte-string-literals.rs:7:10

View file

@ -0,0 +1,18 @@
// Regression test for #87397.
fn main() {
b'µ';
//~^ ERROR: non-ASCII character in byte constant
//~| HELP: if you meant to use the unicode code point for 'µ', use a \xHH escape
//~| NOTE: byte constant must be ASCII
b'字';
//~^ ERROR: non-ASCII character in byte constant
//~| NOTE: this multibyte character does not fit into a single byte
//~| NOTE: byte constant must be ASCII
b"";
//~^ ERROR: non-ASCII character in byte constant
//~| HELP: if you meant to use the UTF-8 encoding of '字', use \xHH escapes
//~| NOTE: byte constant must be ASCII
}

View file

@ -0,0 +1,33 @@
error: non-ASCII character in byte constant
--> $DIR/multibyte-escapes.rs:4:7
|
LL | b'µ';
| ^ byte constant must be ASCII
|
help: if you meant to use the unicode code point for 'µ', use a \xHH escape
|
LL | b'\xB5';
| ^^^^
error: non-ASCII character in byte constant
--> $DIR/multibyte-escapes.rs:9:7
|
LL | b'字';
| ^^
| |
| byte constant must be ASCII
| this multibyte character does not fit into a single byte
error: non-ASCII character in byte constant
--> $DIR/multibyte-escapes.rs:14:7
|
LL | b"字";
| ^^ byte constant must be ASCII
|
help: if you meant to use the UTF-8 encoding of '字', use \xHH escapes
|
LL | b"\xE5\xAD\x97";
| ^^^^^^^^^^^^
error: aborting due to 3 previous errors