diff options
| author | 5225225 <5225225@mailbox.org> | 2021-11-13 11:14:17 +0000 |
|---|---|---|
| committer | 5225225 <5225225@mailbox.org> | 2021-11-16 08:06:30 +0000 |
| commit | de05d3ec31f22b1f3afaf8b5ceddf224492c4aaa (patch) | |
| tree | 00820f35879413e641462e8340e7617d5fd1fadd /compiler/rustc_parse | |
| parent | 02063124f96aac10f8c5c70653242b0704d397e0 (diff) | |
| download | rust-de05d3ec31f22b1f3afaf8b5ceddf224492c4aaa.tar.gz rust-de05d3ec31f22b1f3afaf8b5ceddf224492c4aaa.zip | |
Print full char literal on error if any are non-printing
Diffstat (limited to 'compiler/rustc_parse')
| -rw-r--r-- | compiler/rustc_parse/src/lexer/unescape_error_reporting.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs b/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs index 569f186a727..0f6594a2a7f 100644 --- a/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs +++ b/compiler/rustc_parse/src/lexer/unescape_error_reporting.rs @@ -82,6 +82,16 @@ pub(crate) fn emit_unescape_error( Applicability::MachineApplicable, ); } + } else { + if lit.chars().filter(|x| x.is_whitespace() || x.is_control()).count() >= 1 { + handler.span_note( + span, + &format!( + "there are non-printing characters, the full sequence is `{}`", + lit.escape_default(), + ), + ); + } } if !has_help { |
