Auto merge of #26947 - nagisa:unicode-escape-error, r=nrc
Inspired by the now-mysteriously-closed https://github.com/rust-lang/rust/pull/26782. This PR introduces better error messages when unicode escapes have invalid format (e.g. `\uFFFF`). It also makes rustc always tell the user that escape may not be used in byte-strings and bytes and fixes some spans to not include unecessary characters and include escape backslash in some others.
This commit is contained in:
commit
07be6299d8
2 changed files with 32 additions and 20 deletions
|
|
@ -16,7 +16,8 @@ fn main() {
|
|||
//~^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
|
||||
|
||||
let _ = b'\u';
|
||||
//~^ ERROR unknown byte escape: u
|
||||
//~^ ERROR incorrect unicode escape sequence
|
||||
//~^^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
|
||||
|
||||
let _ = b'\x5';
|
||||
//~^ ERROR numeric character escape is too short
|
||||
|
|
@ -35,11 +36,12 @@ fn main() {
|
|||
let _ = b"\u{a4a4} \xf \u";
|
||||
//~^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
|
||||
//~^^ ERROR illegal character in numeric character escape:
|
||||
//~^^^ ERROR unknown byte escape: u
|
||||
//~^^^ ERROR incorrect unicode escape sequence
|
||||
//~^^^^ ERROR unicode escape sequences cannot be used as a byte or in a byte string
|
||||
|
||||
let _ = "\u{ffffff} \xf \u";
|
||||
//~^ ERROR illegal unicode character escape
|
||||
//~^^ ERROR illegal character in numeric character escape:
|
||||
//~^^^ ERROR form of character escape may only be used with characters in the range [\x00-\x7f]
|
||||
//~^^^^ ERROR unknown character escape: u
|
||||
//~^^^^ ERROR incorrect unicode escape sequence
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue