-
Notifications
You must be signed in to change notification settings - Fork 12.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of #90861 - 5225225:nonprinting-char, r=davidtwco
Print escaped string if char literal has multiple characters, but only one printable character Fixes #90857 I'm not sure about the error message here, it could get rather long and *maybe* using the names of characters would be better? That wouldn't help the length any, though.
- Loading branch information
Showing
4 changed files
with
54 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
// This tests that the error generated when a character literal has multiple | ||
// characters in it contains a note about non-printing characters. | ||
|
||
fn main() { | ||
let _hair_space_around = ' x'; | ||
//~^ ERROR: character literal may only contain one codepoint | ||
//~| NOTE: there are non-printing characters, the full sequence is `\u{200a}x\u{200b}` | ||
//~| HELP: consider removing the non-printing characters | ||
//~| SUGGESTION: x | ||
} |
16 changes: 16 additions & 0 deletions
16
src/test/ui/parser/char/whitespace-character-literal.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
error: character literal may only contain one codepoint | ||
--> $DIR/whitespace-character-literal.rs:5:30 | ||
| | ||
LL | let _hair_space_around = ' x'; | ||
| ^--^ | ||
| | | ||
| help: consider removing the non-printing characters: `x` | ||
| | ||
note: there are non-printing characters, the full sequence is `\u{200a}x\u{200b}` | ||
--> $DIR/whitespace-character-literal.rs:5:31 | ||
| | ||
LL | let _hair_space_around = ' x'; | ||
| ^^ | ||
|
||
error: aborting due to previous error | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters