diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-11-29 11:50:03 +1100 | 
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2022-11-30 12:19:07 +1100 | 
| commit | bf4a62c381db9adb252143dacf6738d74ed0ba58 (patch) | |
| tree | da7773242ec541ad7f7fb00d650b506f42736d8b /compiler/rustc_builtin_macros/src/concat_bytes.rs | |
| parent | 2585bcea0bc2a9c42a4be2c1eba5c61137f2b167 (diff) | |
| download | rust-bf4a62c381db9adb252143dacf6738d74ed0ba58.tar.gz rust-bf4a62c381db9adb252143dacf6738d74ed0ba58.zip | |
Fix an ICE parsing a malformed literal in `concat_bytes!`.
Fixes #104769.
Diffstat (limited to 'compiler/rustc_builtin_macros/src/concat_bytes.rs')
| -rw-r--r-- | compiler/rustc_builtin_macros/src/concat_bytes.rs | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/compiler/rustc_builtin_macros/src/concat_bytes.rs b/compiler/rustc_builtin_macros/src/concat_bytes.rs index 87658e60e9d..161e3499584 100644 --- a/compiler/rustc_builtin_macros/src/concat_bytes.rs +++ b/compiler/rustc_builtin_macros/src/concat_bytes.rs @@ -2,6 +2,7 @@ use rustc_ast as ast; use rustc_ast::{ptr::P, tokenstream::TokenStream}; use rustc_errors::Applicability; use rustc_expand::base::{self, DummyResult}; +use rustc_session::errors::report_lit_error; use rustc_span::Span; /// Emits errors for literal expressions that are invalid inside and outside of an array. @@ -68,7 +69,10 @@ fn invalid_type_err( Ok(ast::LitKind::Int(_, _)) => { cx.span_err(span, "numeric literal is not a `u8`"); } - _ => unreachable!(), + Ok(ast::LitKind::ByteStr(_) | ast::LitKind::Byte(_)) => unreachable!(), + Err(err) => { + report_lit_error(&cx.sess.parse_sess, err, token_lit, span); + } } } | 
