Remove redundant code from copy-suggestions
This commit is contained in:
parent
ecb867ec3c
commit
74d0866c62
@ -12,9 +12,7 @@
|
|||||||
FakeReadCause, LocalDecl, LocalInfo, LocalKind, Location, Operand, Place, PlaceRef,
|
FakeReadCause, LocalDecl, LocalInfo, LocalKind, Location, Operand, Place, PlaceRef,
|
||||||
ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, VarBindingForm,
|
ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, VarBindingForm,
|
||||||
};
|
};
|
||||||
use rustc_middle::ty::{
|
use rustc_middle::ty::{self, suggest_constraining_type_params, PredicateKind, Ty};
|
||||||
self, suggest_constraining_type_param, suggest_constraining_type_params, PredicateKind, Ty,
|
|
||||||
};
|
|
||||||
use rustc_mir_dataflow::move_paths::{InitKind, MoveOutIndex, MovePathIndex};
|
use rustc_mir_dataflow::move_paths::{InitKind, MoveOutIndex, MovePathIndex};
|
||||||
use rustc_span::symbol::sym;
|
use rustc_span::symbol::sym;
|
||||||
use rustc_span::{BytePos, MultiSpan, Span, DUMMY_SP};
|
use rustc_span::{BytePos, MultiSpan, Span, DUMMY_SP};
|
||||||
@ -410,27 +408,8 @@ pub(crate) fn report_use_of_moved_or_uninitialized(
|
|||||||
Some(ref name) => format!("`{}`", name),
|
Some(ref name) => format!("`{}`", name),
|
||||||
None => "value".to_owned(),
|
None => "value".to_owned(),
|
||||||
};
|
};
|
||||||
if let ty::Param(param_ty) = ty.kind() {
|
|
||||||
let tcx = self.infcx.tcx;
|
|
||||||
let generics = tcx.generics_of(self.mir_def_id());
|
|
||||||
let param = generics.type_param(¶m_ty, tcx);
|
|
||||||
if let Some(generics) = tcx
|
|
||||||
.typeck_root_def_id(self.mir_def_id().to_def_id())
|
|
||||||
.as_local()
|
|
||||||
.and_then(|def_id| tcx.hir().get_generics(def_id))
|
|
||||||
{
|
|
||||||
suggest_constraining_type_param(
|
|
||||||
tcx,
|
|
||||||
generics,
|
|
||||||
&mut err,
|
|
||||||
param.name.as_str(),
|
|
||||||
"Copy",
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Try to find predicates on *generic params* that would allow copying `ty`
|
|
||||||
|
|
||||||
|
// Try to find predicates on *generic params* that would allow copying `ty`
|
||||||
let tcx = self.infcx.tcx;
|
let tcx = self.infcx.tcx;
|
||||||
let generics = tcx.generics_of(self.mir_def_id());
|
let generics = tcx.generics_of(self.mir_def_id());
|
||||||
if let Some(hir_generics) = tcx
|
if let Some(hir_generics) = tcx
|
||||||
@ -467,10 +446,7 @@ pub(crate) fn report_use_of_moved_or_uninitialized(
|
|||||||
match predicate.self_ty().kind() {
|
match predicate.self_ty().kind() {
|
||||||
ty::Param(param_ty) => Ok((
|
ty::Param(param_ty) => Ok((
|
||||||
generics.type_param(param_ty, tcx),
|
generics.type_param(param_ty, tcx),
|
||||||
predicate
|
predicate.trait_ref.print_only_trait_path().to_string(),
|
||||||
.trait_ref
|
|
||||||
.print_only_trait_path()
|
|
||||||
.to_string(),
|
|
||||||
)),
|
)),
|
||||||
_ => Err(()),
|
_ => Err(()),
|
||||||
}
|
}
|
||||||
@ -491,7 +467,6 @@ pub(crate) fn report_use_of_moved_or_uninitialized(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
let span = if let Some(local) = place.as_local() {
|
let span = if let Some(local) = place.as_local() {
|
||||||
let decl = &self.body.local_decls[local];
|
let decl = &self.body.local_decls[local];
|
||||||
|
Loading…
Reference in New Issue
Block a user