]> git.lizzy.rs Git - rust.git/commitdiff
Factor out a repeated expression in `lower_attr_args`.
authorNicholas Nethercote <n.nethercote@gmail.com>
Thu, 24 Nov 2022 02:47:57 +0000 (13:47 +1100)
committerNicholas Nethercote <n.nethercote@gmail.com>
Mon, 28 Nov 2022 04:17:45 +0000 (15:17 +1100)
compiler/rustc_ast_lowering/src/lib.rs

index a123a58a8fbfa957b4cdb667e5864bb333276df5..530cf7d978796fadbdbf14c65a49cd0586ece9f0 100644 (file)
@@ -948,15 +948,10 @@ fn lower_attr_args(&self, args: &AttrArgs) -> AttrArgs {
             AttrArgs::Eq(eq_span, AttrArgsEq::Ast(expr)) => {
                 // In valid code the value always ends up as a single literal. Otherwise, a dummy
                 // literal suffices because the error is handled elsewhere.
-                let lit = if let ExprKind::Lit(token_lit) = expr.kind {
-                    match Lit::from_token_lit(token_lit, expr.span) {
-                        Ok(lit) => lit,
-                        Err(_err) => Lit {
-                            token_lit: token::Lit::new(token::LitKind::Err, kw::Empty, None),
-                            kind: LitKind::Err,
-                            span: DUMMY_SP,
-                        },
-                    }
+                let lit = if let ExprKind::Lit(token_lit) = expr.kind 
+                    && let Ok(lit) = Lit::from_token_lit(token_lit, expr.span)
+                {
+                    lit
                 } else {
                     Lit {
                         token_lit: token::Lit::new(token::LitKind::Err, kw::Empty, None),