diff options
| author | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-19 23:56:00 +0200 |
|---|---|---|
| committer | Ada Alakbarova <ada.alakbarova@proton.me> | 2025-08-22 15:03:17 +0200 |
| commit | d7458294a1ea4f4d76f5fab602fe5fc84f9c8c3a (patch) | |
| tree | 44e8d6e3bf53c21938f9e27c10557a15e48d0a83 | |
| parent | 5420d07d0768a81655e269d005fedc739511b22e (diff) | |
| download | rust-d7458294a1ea4f4d76f5fab602fe5fc84f9c8c3a.tar.gz rust-d7458294a1ea4f4d76f5fab602fe5fc84f9c8c3a.zip | |
misc: return earlier on `name = None`
| -rw-r--r-- | clippy_utils/src/higher.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clippy_utils/src/higher.rs b/clippy_utils/src/higher.rs index 0caeddd9f08..bda28a663fb 100644 --- a/clippy_utils/src/higher.rs +++ b/clippy_utils/src/higher.rs @@ -287,20 +287,21 @@ impl<'a> VecArgs<'a> { && let ExprKind::Path(ref qpath) = fun.kind && is_expn_of(fun.span, sym::vec).is_some() && let Some(fun_def_id) = cx.qpath_res(qpath, fun.hir_id).opt_def_id() + && let Some(name) = cx.tcx.get_diagnostic_name(fun_def_id) { - return match (cx.tcx.get_diagnostic_name(fun_def_id), args) { - (Some(sym::vec_from_elem), [elem, size]) => { + return match (name, args) { + (sym::vec_from_elem, [elem, size]) => { // `vec![elem; size]` case Some(VecArgs::Repeat(elem, size)) }, - (Some(sym::slice_into_vec), [slice]) + (sym::slice_into_vec, [slice]) if let ExprKind::Call(_, [arg]) = slice.kind && let ExprKind::Array(args) = arg.kind => { // `vec![a, b, c]` case Some(VecArgs::Vec(args)) }, - (Some(sym::vec_new), []) => Some(VecArgs::Vec(&[])), + (sym::vec_new, []) => Some(VecArgs::Vec(&[])), _ => None, }; } |
