@@ -780,14 +780,18 @@ pub fn write_method_call_params<W: std::io::Write>(w: &mut W, sig: &syn::Signatu
780
780
/// Prints concrete generic parameters for a struct/trait/function, including the less-than and
781
781
/// greater-than symbols, if any generic parameters are defined.
782
782
pub 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 ) ;
784
784
}
785
785
786
786
pub 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 ) ;
788
788
}
789
789
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 ) {
791
795
let mut gen_types = GenericTypes :: new ( None ) ;
792
796
assert ! ( gen_types. learn_generics( generics, types) ) ;
793
797
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
821
825
if types. understood_c_type ( & syn:: parse_quote!( #type_ident) , Some ( & gen_types) ) {
822
826
types. write_c_type_in_generic_param ( & mut out, & syn:: parse_quote!( #type_ident) , Some ( & gen_types) , false ) ;
823
827
} else {
824
- if let syn:: PathArguments :: AngleBracketed ( args) = generics_impld {
828
+ if let Some ( syn:: PathArguments :: AngleBracketed ( args) ) = generics_impld {
825
829
if let syn:: GenericArgument :: Type ( ty) = & args. args [ idx] {
826
830
types. write_c_type_in_generic_param ( & mut out, & ty, Some ( & gen_types) , false ) ;
827
831
}
0 commit comments