about summary refs log tree commit diff
path: root/compiler/rustc_parse/src
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-02-28 15:49:48 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-02-28 20:59:27 +1100
commit951f2d9ae2c3252e8076aebd54a519be83fcbab2 (patch)
treefda9117c723ec498e7d7e8ebbd8ef34c767e7302 /compiler/rustc_parse/src
parent1e4f9e302c63ee126a4db8ec2cf3fa396dc74d52 (diff)
downloadrust-951f2d9ae2c3252e8076aebd54a519be83fcbab2.tar.gz
rust-951f2d9ae2c3252e8076aebd54a519be83fcbab2.zip
Use `LitKind::Err` for floats with empty exponents.
This prevents a follow-up type error in a test, which seems fine.
Diffstat (limited to 'compiler/rustc_parse/src')
-rw-r--r--compiler/rustc_parse/src/lexer/mod.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/lexer/mod.rs b/compiler/rustc_parse/src/lexer/mod.rs
index dc9f5bad765..4523276970d 100644
--- a/compiler/rustc_parse/src/lexer/mod.rs
+++ b/compiler/rustc_parse/src/lexer/mod.rs
@@ -501,9 +501,11 @@ impl<'sess, 'src> StringReader<'sess, 'src> {
                 (kind, self.symbol_from_to(start, end))
             }
             rustc_lexer::LiteralKind::Float { base, empty_exponent } => {
+                let mut kind = token::Float;
                 if empty_exponent {
                     let span = self.mk_sp(start, self.pos);
-                    self.dcx().emit_err(errors::EmptyExponentFloat { span });
+                    let guar = self.dcx().emit_err(errors::EmptyExponentFloat { span });
+                    kind = token::Err(guar);
                 }
                 let base = match base {
                     Base::Hexadecimal => Some("hexadecimal"),
@@ -515,7 +517,7 @@ impl<'sess, 'src> StringReader<'sess, 'src> {
                     let span = self.mk_sp(start, end);
                     self.dcx().emit_err(errors::FloatLiteralUnsupportedBase { span, base });
                 }
-                (token::Float, self.symbol_from_to(start, end))
+                (kind, self.symbol_from_to(start, end))
             }
         }
     }