1
Fork 0
This commit is contained in:
mejrs 2022-11-29 16:50:28 +01:00
parent b209ff27f3
commit 34277fcddc

View file

@ -46,7 +46,6 @@ use rustc_middle::lint::in_external_macro;
use rustc_middle::ty::layout::{LayoutError, LayoutOf}; use rustc_middle::ty::layout::{LayoutError, LayoutOf};
use rustc_middle::ty::print::with_no_trimmed_paths; use rustc_middle::ty::print::with_no_trimmed_paths;
use rustc_middle::ty::subst::GenericArgKind; use rustc_middle::ty::subst::GenericArgKind;
use rustc_middle::ty::List;
use rustc_middle::ty::{self, Instance, Ty, TyCtxt, VariantDef}; use rustc_middle::ty::{self, Instance, Ty, TyCtxt, VariantDef};
use rustc_session::lint::{BuiltinLintDiagnostics, FutureIncompatibilityReason}; use rustc_session::lint::{BuiltinLintDiagnostics, FutureIncompatibilityReason};
use rustc_span::edition::Edition; use rustc_span::edition::Edition;
@ -769,12 +768,8 @@ impl<'tcx> LateLintPass<'tcx> for MissingCopyImplementations {
// We shouldn't recommend implementing `Copy` on stateful things, // We shouldn't recommend implementing `Copy` on stateful things,
// such as iterators. // such as iterators.
if let Some(iter_trait) = cx.tcx.get_diagnostic_item(sym::Iterator) { if let Some(iter_trait) = cx.tcx.get_diagnostic_item(sym::Iterator) {
if cx.tcx.infer_ctxt().build().type_implements_trait( if cx.tcx.infer_ctxt().build().type_implements_trait(iter_trait, [ty], param_env)
iter_trait, == EvaluationResult::EvaluatedToOk
ty,
List::empty(),
param_env,
) == EvaluationResult::EvaluatedToOk
{ {
return; return;
} }