@@ -780,14 +780,18 @@ pub fn write_method_call_params<W: std::io::Write>(w: &mut W, sig: &syn::Signatu
780780/// Prints concrete generic parameters for a struct/trait/function, including the less-than and
781781/// greater-than symbols, if any generic parameters are defined.
782782pub fn maybe_write_generics < W : std:: io:: Write > ( w : & mut W , generics : & syn:: Generics , generics_impld : & syn:: PathArguments , types : & TypeResolver , concrete_lifetimes : bool ) {
783- maybe_write_generics_intern ( w, generics, generics_impld, types, concrete_lifetimes, false ) ;
783+ maybe_write_generics_intern ( w, generics, Some ( generics_impld) , types, concrete_lifetimes, false ) ;
784784}
785785
786786pub fn maybe_write_non_lifetime_generics < W : std:: io:: Write > ( w : & mut W , generics : & syn:: Generics , generics_impld : & syn:: PathArguments , types : & TypeResolver ) {
787- maybe_write_generics_intern ( w, generics, generics_impld, types, false , true ) ;
787+ maybe_write_generics_intern ( w, generics, Some ( generics_impld) , types, false , true ) ;
788788}
789789
790- fn maybe_write_generics_intern < W : std:: io:: Write > ( w : & mut W , generics : & syn:: Generics , generics_impld : & syn:: PathArguments , types : & TypeResolver , concrete_lifetimes : bool , dummy_lifetimes : bool ) {
790+ pub fn maybe_write_type_non_lifetime_generics < W : std:: io:: Write > ( w : & mut W , generics : & syn:: Generics , types : & TypeResolver ) {
791+ maybe_write_generics_intern ( w, generics, None , types, false , true ) ;
792+ }
793+
794+ fn maybe_write_generics_intern < W : std:: io:: Write > ( w : & mut W , generics : & syn:: Generics , generics_impld : Option < & syn:: PathArguments > , types : & TypeResolver , concrete_lifetimes : bool , dummy_lifetimes : bool ) {
791795 let mut gen_types = GenericTypes :: new ( None ) ;
792796 assert ! ( gen_types. learn_generics( generics, types) ) ;
793797 if generics. params . is_empty ( ) { return ; }
@@ -821,7 +825,7 @@ fn maybe_write_generics_intern<W: std::io::Write>(w: &mut W, generics: &syn::Gen
821825 if types. understood_c_type ( & syn:: parse_quote!( #type_ident) , Some ( & gen_types) ) {
822826 types. write_c_type_in_generic_param ( & mut out, & syn:: parse_quote!( #type_ident) , Some ( & gen_types) , false ) ;
823827 } else {
824- if let syn:: PathArguments :: AngleBracketed ( args) = generics_impld {
828+ if let Some ( syn:: PathArguments :: AngleBracketed ( args) ) = generics_impld {
825829 if let syn:: GenericArgument :: Type ( ty) = & args. args [ idx] {
826830 types. write_c_type_in_generic_param ( & mut out, & ty, Some ( & gen_types) , false ) ;
827831 }
0 commit comments