diff options
| author | bors <bors@rust-lang.org> | 2023-12-02 14:33:24 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-12-02 14:33:24 +0000 |
| commit | 31aa0b2bbe53a53e0de91a36fb9a2bb1833d7bbb (patch) | |
| tree | 6d5559f9c9b36f27c421bfe296870ead5c9bb249 | |
| parent | 75bdbfcea51b7c37ea19a65425451b7e255a2c42 (diff) | |
| parent | 6275e77e6a273144558ce06c862821d330958952 (diff) | |
| download | rust-31aa0b2bbe53a53e0de91a36fb9a2bb1833d7bbb.tar.gz rust-31aa0b2bbe53a53e0de91a36fb9a2bb1833d7bbb.zip | |
Auto merge of #11899 - samueltardieu:redundant-if, r=llogiq
Do not check twice whether `qpath` is a `QPath::TypeRelative` variant This is a style fix: the outer `if` check was useless. changelog: none
| -rw-r--r-- | clippy_lints/src/manual_string_new.rs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/clippy_lints/src/manual_string_new.rs b/clippy_lints/src/manual_string_new.rs index 737c70496c2..781db4b97f0 100644 --- a/clippy_lints/src/manual_string_new.rs +++ b/clippy_lints/src/manual_string_new.rs @@ -108,18 +108,16 @@ fn parse_call(cx: &LateContext<'_>, span: Span, func: &Expr<'_>, args: &[Expr<'_ let arg_kind = &args[0].kind; if let ExprKind::Path(qpath) = &func.kind { - if let QPath::TypeRelative(_, _) = qpath { - // String::from(...) or String::try_from(...) - if let QPath::TypeRelative(ty, path_seg) = qpath - && [sym::from, sym::try_from].contains(&path_seg.ident.name) - && let TyKind::Path(qpath) = &ty.kind - && let QPath::Resolved(_, path) = qpath - && let [path_seg] = path.segments - && path_seg.ident.name == sym::String - && is_expr_kind_empty_str(arg_kind) - { - warn_then_suggest(cx, span); - } + // String::from(...) or String::try_from(...) + if let QPath::TypeRelative(ty, path_seg) = qpath + && [sym::from, sym::try_from].contains(&path_seg.ident.name) + && let TyKind::Path(qpath) = &ty.kind + && let QPath::Resolved(_, path) = qpath + && let [path_seg] = path.segments + && path_seg.ident.name == sym::String + && is_expr_kind_empty_str(arg_kind) + { + warn_then_suggest(cx, span); } else if let QPath::Resolved(_, path) = qpath { // From::from(...) or TryFrom::try_from(...) if let [path_seg1, path_seg2] = path.segments |
