Skip to content

Commit 97f0c58

Browse files
committed
report literal errors when token_lit has errors
1 parent c0e9c86 commit 97f0c58

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

compiler/rustc_expand/src/base.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use rustc_errors::{
1616
use rustc_lint_defs::builtin::PROC_MACRO_BACK_COMPAT;
1717
use rustc_lint_defs::{BufferedEarlyLint, BuiltinLintDiagnostics};
1818
use rustc_parse::{self, parser, MACRO_ARGUMENTS};
19+
use rustc_session::errors::report_lit_error;
1920
use rustc_session::{parse::ParseSess, Limit, Session};
2021
use rustc_span::def_id::{CrateNum, DefId, LocalDefId};
2122
use rustc_span::edition::Edition;
@@ -1245,7 +1246,10 @@ pub fn expr_to_spanned_string<'a>(
12451246
Some((err, true))
12461247
}
12471248
Ok(ast::LitKind::Err) => None,
1248-
Err(_) => None,
1249+
Err(err) => {
1250+
report_lit_error(&cx.sess.parse_sess, err, token_lit, expr.span);
1251+
None
1252+
}
12491253
_ => Some((cx.struct_span_err(expr.span, err_msg), false)),
12501254
},
12511255
ast::ExprKind::Err => None,

src/test/ui/macros/issue-105011.rs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
println!(""y); //~ ERROR suffixes on string literals are invalid
3+
}
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
error: suffixes on string literals are invalid
2+
--> $DIR/issue-105011.rs:2:14
3+
|
4+
LL | println!(""y);
5+
| ^^^ invalid suffix `y`
6+
7+
error: aborting due to previous error
8+

0 commit comments

Comments
 (0)