about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser/expr.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-03-01 01:21:56 +0100
committerGitHub <noreply@github.com>2023-03-01 01:21:56 +0100
commit1c3cc8bba5d12ef3d21fee46c0b02e7390b381a4 (patch)
tree95d9d6fb1d488d5ade07ddc4eeb20ab25d2f4fb0 /compiler/rustc_parse/src/parser/expr.rs
parent32d70241003247d77c3d48541fb5331873c6f931 (diff)
parent031206bc1d16edcc963a1d0987ad37448a4cc019 (diff)
downloadrust-1c3cc8bba5d12ef3d21fee46c0b02e7390b381a4.tar.gz
rust-1c3cc8bba5d12ef3d21fee46c0b02e7390b381a4.zip
Rollup merge of #108496 - nx2k3:issue-108495-dec, r=WaffleLapkin
fix #108495, postfix decrement and prefix decrement has no warning

Fixes #108495
Diffstat (limited to 'compiler/rustc_parse/src/parser/expr.rs')
-rw-r--r--compiler/rustc_parse/src/parser/expr.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs
index 33254d034c9..24d4c17f5d8 100644
--- a/compiler/rustc_parse/src/parser/expr.rs
+++ b/compiler/rustc_parse/src/parser/expr.rs
@@ -282,6 +282,18 @@ impl<'a> Parser<'a> {
                 continue;
             }
 
+            if self.prev_token == token::BinOp(token::Minus)
+                && self.token == token::BinOp(token::Minus)
+                && self.prev_token.span.between(self.token.span).is_empty()
+                && !self.look_ahead(1, |tok| tok.can_begin_expr())
+            {
+                let op_span = self.prev_token.span.to(self.token.span);
+                // Eat the second `-`
+                self.bump();
+                lhs = self.recover_from_postfix_decrement(lhs, op_span, starts_stmt)?;
+                continue;
+            }
+
             let op = op.node;
             // Special cases:
             if op == AssocOp::As {