From f8e1fa8ebc9cd503229de38ed4d1753f0a9c89c3 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 1 Apr 2018 16:58:14 +0200 Subject: [PATCH] Use Generics::make_where_clause helper --- serde_derive/src/bound.rs | 40 ++++----------------------------------- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/serde_derive/src/bound.rs b/serde_derive/src/bound.rs index 36526351..4e7c7d71 100644 --- a/serde_derive/src/bound.rs +++ b/serde_derive/src/bound.rs @@ -44,15 +44,7 @@ pub fn with_where_predicates( predicates: &[syn::WherePredicate], ) -> syn::Generics { let mut generics = generics.clone(); - if generics.where_clause.is_none() { - generics.where_clause = Some(syn::WhereClause { - where_token: Default::default(), - predicates: Punctuated::new(), - }); - } - generics.where_clause - .as_mut() - .unwrap() + generics.make_where_clause() .predicates .extend(predicates.into_iter().cloned()); generics @@ -72,15 +64,7 @@ where .flat_map(|predicates| predicates.to_vec()); let mut generics = generics.clone(); - if generics.where_clause.is_none() { - generics.where_clause = Some(syn::WhereClause { - where_token: Default::default(), - predicates: Punctuated::new(), - }); - } - generics.where_clause - .as_mut() - .unwrap() + generics.make_where_clause() .predicates .extend(predicates); generics @@ -202,15 +186,7 @@ where }); let mut generics = generics.clone(); - if generics.where_clause.is_none() { - generics.where_clause = Some(syn::WhereClause { - where_token: Default::default(), - predicates: Punctuated::new(), - }); - } - generics.where_clause - .as_mut() - .unwrap() + generics.make_where_clause() .predicates .extend(new_predicates); generics @@ -222,15 +198,7 @@ pub fn with_self_bound( bound: &syn::Path, ) -> syn::Generics { let mut generics = generics.clone(); - if generics.where_clause.is_none() { - generics.where_clause = Some(syn::WhereClause { - where_token: Default::default(), - predicates: Punctuated::new(), - }); - } - generics.where_clause - .as_mut() - .unwrap() + generics.make_where_clause() .predicates .push(syn::WherePredicate::Type(syn::PredicateType { lifetimes: None,