X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_builtin_macros%2Fsrc%2Fformat.rs;h=3b7e2102ffa9b6b47ace8dd62cc5ba0e890642aa;hb=2902b92769a29d24f9107d2e322ed9c92990da98;hp=4791151c7d3095e18205dd26986d5703642edf18;hpb=5c8c4dbce9eb210539bbd98e09b665b4c285bdc4;p=rust.git diff --git a/compiler/rustc_builtin_macros/src/format.rs b/compiler/rustc_builtin_macros/src/format.rs index 4791151c7d3..3b7e2102ffa 100644 --- a/compiler/rustc_builtin_macros/src/format.rs +++ b/compiler/rustc_builtin_macros/src/format.rs @@ -16,7 +16,7 @@ use rustc_lint_defs::builtin::NAMED_ARGUMENTS_USED_POSITIONALLY; use rustc_lint_defs::{BufferedEarlyLint, BuiltinLintDiagnostics, LintId}; -use rustc_parse_format::{Count, FormatSpec}; +use rustc_parse_format::Count; use std::borrow::Cow; use std::collections::hash_map::Entry; @@ -985,20 +985,19 @@ fn lint_named_arguments_used_positionally( } _ => {} }; - match a.format { - FormatSpec { width: Count::CountIsName(s, _), .. } - | FormatSpec { precision: Count::CountIsName(s, _), .. } => { - used_argument_names.insert(s); - } - _ => {} - }; + if let Count::CountIsName(s, _) = a.format.width { + used_argument_names.insert(s); + } + if let Count::CountIsName(s, _) = a.format.precision { + used_argument_names.insert(s); + } } } for (symbol, (index, span)) in names { if !used_argument_names.contains(symbol.as_str()) { let msg = format!("named argument `{}` is not used by name", symbol.as_str()); - let arg_span = cx.arg_spans[index]; + let arg_span = cx.arg_spans.get(index).copied(); cx.ecx.buffered_early_lint.push(BufferedEarlyLint { span: MultiSpan::from_span(span), msg: msg.clone(),