Make use of Generics::type_params iterator

This commit is contained in:
David Tolnay 2018-04-12 22:03:40 -07:00
parent da8b457f66
commit ec773fb7db
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -149,13 +149,8 @@ where
fn visit_macro(&mut self, _mac: &syn::Macro) {}
}
let all_ty_params: HashSet<_> = generics
.params
.iter()
.filter_map(|param| match *param {
syn::GenericParam::Type(ref param) => Some(param.ident),
_ => None,
})
let all_ty_params = generics.type_params()
.map(|param| param.ident)
.collect();
let mut visitor = FindTyParams {
@ -179,13 +174,8 @@ where
}
}
let new_predicates = generics
.params
.iter()
.filter_map(|param| match *param {
syn::GenericParam::Type(ref param) => Some(param.ident),
_ => None,
})
let new_predicates = generics.type_params()
.map(|param| param.ident)
.filter(|id| visitor.relevant_ty_params.contains(id))
.map(|id| {
syn::WherePredicate::Type(syn::PredicateType {