diff options
| author | Jason Newcomb <jsnewcomb@pm.me> | 2022-01-05 12:15:10 -0500 |
|---|---|---|
| committer | Jason Newcomb <jsnewcomb@pm.me> | 2022-01-05 12:28:20 -0500 |
| commit | 14f34454b04e6fd578ccbeaed99d8d3ad3ba1bc9 (patch) | |
| tree | c453281ae47bdedbae4ffb59fc999370d74158f0 | |
| parent | 0e28e38e36134a2a7270e0f074f19fc6b096061d (diff) | |
| download | rust-14f34454b04e6fd578ccbeaed99d8d3ad3ba1bc9.tar.gz rust-14f34454b04e6fd578ccbeaed99d8d3ad3ba1bc9.zip | |
Don't lint `DequeVec` in `manual_memcpy`
| -rw-r--r-- | clippy_lints/src/loops/manual_memcpy.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clippy_lints/src/loops/manual_memcpy.rs b/clippy_lints/src/loops/manual_memcpy.rs index c62fa5e998b..0bff868641c 100644 --- a/clippy_lints/src/loops/manual_memcpy.rs +++ b/clippy_lints/src/loops/manual_memcpy.rs @@ -2,7 +2,6 @@ use super::{IncrementVisitor, InitializeVisitor, MANUAL_MEMCPY}; use clippy_utils::diagnostics::span_lint_and_sugg; use clippy_utils::source::snippet; use clippy_utils::sugg::Sugg; -use clippy_utils::ty::is_type_diagnostic_item; use clippy_utils::{get_enclosing_block, higher, path_to_local, sugg}; use if_chain::if_chain; use rustc_ast::ast; @@ -325,13 +324,12 @@ struct Start<'hir> { } fn is_slice_like<'tcx>(cx: &LateContext<'tcx>, ty: Ty<'_>) -> bool { - let is_slice = match ty.kind() { + match ty.kind() { + ty::Adt(adt, _) => cx.tcx.is_diagnostic_item(sym::Vec, adt.did), ty::Ref(_, subty, _) => is_slice_like(cx, subty), ty::Slice(..) | ty::Array(..) => true, _ => false, - }; - - is_slice || is_type_diagnostic_item(cx, ty, sym::Vec) || is_type_diagnostic_item(cx, ty, sym::VecDeque) + } } fn fetch_cloned_expr<'tcx>(expr: &'tcx Expr<'tcx>) -> &'tcx Expr<'tcx> { |
