This commit is contained in:
Lzu Tao 2019-10-19 12:27:21 +07:00
parent 850ad526df
commit 4c7387e965
2 changed files with 2 additions and 2 deletions

View File

@ -493,7 +493,7 @@ fn is_must_use_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>) -> bool {
},
Tuple(ref substs) => substs.types().any(|ty| is_must_use_ty(cx, ty)),
Opaque(ref def_id, _) => {
for (predicate, _) in &cx.tcx.predicates_of(*def_id).predicates {
for (predicate, _) in cx.tcx.predicates_of(*def_id).predicates {
if let ty::Predicate::Trait(ref poly_trait_predicate) = predicate {
if must_use_attr(&cx.tcx.get_attrs(poly_trait_predicate.skip_binder().trait_ref.def_id)).is_some() {
return true;

View File

@ -1322,7 +1322,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods {
// if return type is impl trait, check the associated types
if let ty::Opaque(def_id, _) = ret_ty.kind {
// one of the associated types must be Self
for predicate in &cx.tcx.predicates_of(def_id).predicates {
for predicate in cx.tcx.predicates_of(def_id).predicates {
match predicate {
(Predicate::Projection(poly_projection_predicate), _) => {
let binder = poly_projection_predicate.ty();