about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser/expr.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-06-15 01:55:30 +0000
committerMichael Goulet <michael@errs.io>2023-06-15 01:55:37 +0000
commit9ef580fa6f2b5019b35e6a9cf979f6f13d21de00 (patch)
treef4f3f3b6816d848859f8c6f9540f74da6c3aae8d /compiler/rustc_parse/src/parser/expr.rs
parent6330daade9766bbf896495898c2347dc3be6da17 (diff)
downloadrust-9ef580fa6f2b5019b35e6a9cf979f6f13d21de00.tar.gz
rust-9ef580fa6f2b5019b35e6a9cf979f6f13d21de00.zip
Handle interpolated literal errors
Diffstat (limited to 'compiler/rustc_parse/src/parser/expr.rs')
-rw-r--r--compiler/rustc_parse/src/parser/expr.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs
index cea2a71c988..f00bc54589a 100644
--- a/compiler/rustc_parse/src/parser/expr.rs
+++ b/compiler/rustc_parse/src/parser/expr.rs
@@ -2023,17 +2023,14 @@ impl<'a> Parser<'a> {
         let recovered = self.recover_after_dot();
         let token = recovered.as_ref().unwrap_or(&self.token);
         match token::Lit::from_token(token) {
-            Some(token_lit) => {
-                match MetaItemLit::from_token_lit(token_lit, token.span) {
+            Some(lit) => {
+                match MetaItemLit::from_token_lit(lit, token.span) {
                     Ok(lit) => {
                         self.bump();
                         Some(lit)
                     }
                     Err(err) => {
-                        let span = token.span;
-                        let token::Literal(lit) = token.kind else {
-                            unreachable!();
-                        };
+                        let span = token.uninterpolated_span();
                         self.bump();
                         report_lit_error(&self.sess, err, lit, span);
                         // Pack possible quotes and prefixes from the original literal into