From 8d9a5881ea18568f014ea09ec9d2f1d0cdacff1b Mon Sep 17 00:00:00 2001
From: Mara Bos <m-ou.se@m-ou.se>
Date: Tue, 30 Aug 2022 17:21:41 +0200
Subject: [PATCH] Flatten if-let and match into one.

---
 compiler/rustc_builtin_macros/src/format.rs | 33 +++++++++------------
 1 file changed, 14 insertions(+), 19 deletions(-)

diff --git a/compiler/rustc_builtin_macros/src/format.rs b/compiler/rustc_builtin_macros/src/format.rs
index f7c7e00ab22..1dd913ac6d2 100644
--- a/compiler/rustc_builtin_macros/src/format.rs
+++ b/compiler/rustc_builtin_macros/src/format.rs
@@ -285,26 +285,21 @@ pub fn make_format_args(
      -> FormatArgPosition {
         let index = match arg {
             Index(index) => {
-                if let Some((_, arg_kind)) = args.get(index) {
-                    match arg_kind {
-                        FormatArgKind::Normal => {
-                            used[index] = true;
-                            Ok(index)
-                        }
-                        FormatArgKind::Named(_) => {
-                            used[index] = true;
-                            numeric_refences_to_named_arg.push((index, span, used_as));
-                            Ok(index)
-                        }
-                        FormatArgKind::Captured(_) => {
-                            // Doesn't exist as an explicit argument.
-                            invalid_refs.push((index, span, used_as, kind));
-                            Err(index)
-                        }
+                match args.get(index) {
+                    Some((_, FormatArgKind::Normal)) => {
+                        used[index] = true;
+                        Ok(index)
+                    }
+                    Some((_, FormatArgKind::Named(_))) => {
+                        used[index] = true;
+                        numeric_refences_to_named_arg.push((index, span, used_as));
+                        Ok(index)
+                    }
+                    Some((_, FormatArgKind::Captured(_))) | None => {
+                        // Doesn't exist as an explicit argument.
+                        invalid_refs.push((index, span, used_as, kind));
+                        Err(index)
                     }
-                } else {
-                    invalid_refs.push((index, span, used_as, kind));
-                    Err(index)
                 }
             }
             Name(name, span) => {