This commit is contained in:
Deadbeef 2021-09-01 12:53:51 +00:00
parent f6f5180d5f
commit 48a3ba9a33
No known key found for this signature in database
GPG Key ID: 027DF9338862ADDD
2 changed files with 6 additions and 4 deletions

View File

@ -990,8 +990,10 @@ fn visit_terminator(&mut self, terminator: &Terminator<'tcx>, location: Location
// Check to see if the type of this place can ever have a drop impl. If not, this
// `Drop` terminator is frivolous.
let ty_needs_drop =
dropped_place.ty(self.body, self.tcx).ty.needs_non_const_drop(self.tcx, self.param_env);
let ty_needs_drop = dropped_place
.ty(self.body, self.tcx)
.ty
.needs_non_const_drop(self.tcx, self.param_env);
if !ty_needs_drop {
return;

View File

@ -86,8 +86,8 @@
impl<'tcx> LateLintPass<'tcx> for DropTraitConstraints {
fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx hir::Item<'tcx>) {
use rustc_middle::ty::PredicateKind::*;
use rustc_middle::ty;
use rustc_middle::ty::PredicateKind::*;
let predicates = cx.tcx.explicit_predicates_of(item.def_id);
for &(predicate, span) in predicates.predicates {
@ -97,7 +97,7 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx hir::Item<'tcx>) {
};
if trait_predicate.constness == ty::BoundConstness::ConstIfConst {
// `~const Drop` definitely have meanings so avoid linting here.
continue
continue;
}
let def_id = trait_predicate.trait_ref.def_id;
if cx.tcx.lang_items().drop_trait() == Some(def_id) {