diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-01-20 14:51:54 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-01-20 14:51:54 +0900 |
| commit | a4ff1dcc534e9ae132e5b201a8f6e7dd06fbd9ee (patch) | |
| tree | b0a215286a480d863d5d9ac6b295f52b0386bc58 /src/libsyntax/print | |
| parent | e9af312932baee90d260b41711f7ea95ad51bc07 (diff) | |
| download | rust-a4ff1dcc534e9ae132e5b201a8f6e7dd06fbd9ee.tar.gz rust-a4ff1dcc534e9ae132e5b201a8f6e7dd06fbd9ee.zip | |
Mark incorrect recovered `char` literals as `TyErr` to avoid type errors
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 123f9b49692..383baffa266 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -604,6 +604,14 @@ pub trait PrintState<'a> { } match lit.node { ast::LitKind::Str(st, style) => self.print_string(&st.as_str(), style), + ast::LitKind::Err(st) => { + let st = st.as_str().escape_debug(); + let mut res = String::with_capacity(st.len() + 2); + res.push('\''); + res.push_str(&st); + res.push('\''); + self.writer().word(res) + } ast::LitKind::Byte(byte) => { let mut res = String::from("b'"); res.extend(ascii::escape_default(byte).map(|c| c as char)); |
