diff options
| author | dswij <dswijj@gmail.com> | 2022-03-01 12:47:55 +0800 |
|---|---|---|
| committer | dswij <dswijj@gmail.com> | 2022-03-01 12:47:55 +0800 |
| commit | 35b145389526ffd7b0f7c6df830245e3ea51353b (patch) | |
| tree | 74f5a38f86e4dadcf51b775a81105000c8e06fff | |
| parent | e511476f240dfbb67b9d94a71ea45db9624e1519 (diff) | |
| download | rust-35b145389526ffd7b0f7c6df830245e3ea51353b.tar.gz rust-35b145389526ffd7b0f7c6df830245e3ea51353b.zip | |
`map_identity` checks for unneeded `.map_err`
| -rw-r--r-- | clippy_lints/src/methods/map_identity.rs | 3 | ||||
| -rw-r--r-- | clippy_lints/src/methods/mod.rs | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/clippy_lints/src/methods/map_identity.rs b/clippy_lints/src/methods/map_identity.rs index f112b500d3d..862a9578e6f 100644 --- a/clippy_lints/src/methods/map_identity.rs +++ b/clippy_lints/src/methods/map_identity.rs @@ -13,6 +13,7 @@ pub(super) fn check( expr: &hir::Expr<'_>, caller: &hir::Expr<'_>, map_arg: &hir::Expr<'_>, + name: &str, _map_span: Span, ) { let caller_ty = cx.typeck_results().expr_ty(caller); @@ -29,7 +30,7 @@ pub(super) fn check( MAP_IDENTITY, sugg_span, "unnecessary map of the identity function", - "remove the call to `map`", + &format!("remove the call to `{}`", name), String::new(), Applicability::MachineApplicable, ) diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index 3021a40fae1..fd00ac7380d 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -2334,7 +2334,7 @@ fn check_methods<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, msrv: Optio } } }, - ("map", [m_arg]) => { + (name @ ("map" | "map_err"), [m_arg]) => { if let Some((name, [recv2, args @ ..], span2)) = method_call(recv) { match (name, args) { ("as_mut", []) => option_as_ref_deref::check(cx, expr, recv2, m_arg, true, msrv), @@ -2346,7 +2346,7 @@ fn check_methods<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, msrv: Optio _ => {}, } } - map_identity::check(cx, expr, recv, m_arg, span); + map_identity::check(cx, expr, recv, m_arg, name, span); }, ("map_or", [def, map]) => option_map_or_none::check(cx, expr, recv, def, map), (name @ "next", args @ []) => { |
