diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-02-28 15:49:48 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-02-28 20:59:27 +1100 |
| commit | 951f2d9ae2c3252e8076aebd54a519be83fcbab2 (patch) | |
| tree | fda9117c723ec498e7d7e8ebbd8ef34c767e7302 /compiler/rustc_parse | |
| parent | 1e4f9e302c63ee126a4db8ec2cf3fa396dc74d52 (diff) | |
| download | rust-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')
| -rw-r--r-- | compiler/rustc_parse/src/lexer/mod.rs | 6 |
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)) } } } |
