about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2023-01-12 11:28:47 +0000
committerMaybe Waffle <waffle.lapkin@gmail.com>2023-01-12 11:28:47 +0000
commit741c65344b4f2c860cb1237f431ebe0da418b0f1 (patch)
tree149a8ae5775563015bf62a9ff0732fe1acec7de0 /compiler/rustc_parse/src/parser
parentd4203eda5f0dd0b0192bfd22ea5989fbaf917818 (diff)
downloadrust-741c65344b4f2c860cb1237f431ebe0da418b0f1.tar.gz
rust-741c65344b4f2c860cb1237f431ebe0da418b0f1.zip
Remove an `unwrap()` from parser that can be written as if-let-chain
Diffstat (limited to 'compiler/rustc_parse/src/parser')
-rw-r--r--compiler/rustc_parse/src/parser/expr.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs
index f5093fb02a8..1f6e3397105 100644
--- a/compiler/rustc_parse/src/parser/expr.rs
+++ b/compiler/rustc_parse/src/parser/expr.rs
@@ -1709,10 +1709,10 @@ impl<'a> Parser<'a> {
     fn parse_break_expr(&mut self) -> PResult<'a, P<Expr>> {
         let lo = self.prev_token.span;
         let mut label = self.eat_label();
-        let kind = if label.is_some() && self.token == token::Colon {
+        let kind = if self.token == token::Colon && let Some(label) = label.take() {
             // The value expression can be a labeled loop, see issue #86948, e.g.:
             // `loop { break 'label: loop { break 'label 42; }; }`
-            let lexpr = self.parse_labeled_expr(label.take().unwrap(), true)?;
+            let lexpr = self.parse_labeled_expr(label, true)?;
             self.sess.emit_err(LabeledLoopInBreak {
                 span: lexpr.span,
                 sub: WrapExpressionInParentheses {