@@ -444,7 +444,7 @@ impl Rewrite for ast::WherePredicate {
444
444
let type_str = bounded_ty. rewrite ( context, shape) ?;
445
445
let colon = type_bound_colon ( context) . trim_end ( ) ;
446
446
let lhs = if let Some ( lifetime_str) =
447
- rewrite_lifetime_param ( context, shape, bound_generic_params)
447
+ rewrite_generic_params ( context, shape, bound_generic_params)
448
448
{
449
449
format ! ( "for<{}> {}{}" , lifetime_str, type_str, colon)
450
450
} else {
@@ -590,7 +590,7 @@ impl Rewrite for ast::GenericParam {
590
590
impl Rewrite for ast:: PolyTraitRef {
591
591
fn rewrite ( & self , context : & RewriteContext < ' _ > , shape : Shape ) -> Option < String > {
592
592
if let Some ( lifetime_str) =
593
- rewrite_lifetime_param ( context, shape, & self . bound_generic_params )
593
+ rewrite_generic_params ( context, shape, & self . bound_generic_params )
594
594
{
595
595
// 6 is "for<> ".len()
596
596
let extra_offset = lifetime_str. len ( ) + 6 ;
@@ -771,7 +771,7 @@ fn rewrite_bare_fn(
771
771
772
772
let mut result = String :: with_capacity ( 128 ) ;
773
773
774
- if let Some ( ref lifetime_str) = rewrite_lifetime_param ( context, shape, & bare_fn. generic_params )
774
+ if let Some ( ref lifetime_str) = rewrite_generic_params ( context, shape, & bare_fn. generic_params )
775
775
{
776
776
result. push_str ( "for<" ) ;
777
777
// 6 = "for<> ".len(), 4 = "for<".
@@ -900,24 +900,20 @@ pub(crate) fn can_be_overflowed_type(
900
900
}
901
901
}
902
902
903
- /// Returns `None` if there is no `LifetimeDef` in the given generic parameters.
904
- fn rewrite_lifetime_param (
903
+ /// Returns rewritten params separated by commas, or `None` if there are no params or a param
904
+ /// failed to be rewritten.
905
+ fn rewrite_generic_params (
905
906
context : & RewriteContext < ' _ > ,
906
907
shape : Shape ,
907
908
generic_params : & [ ast:: GenericParam ] ,
908
909
) -> Option < String > {
910
+ if generic_params. is_empty ( ) {
911
+ return None ;
912
+ }
909
913
let result = generic_params
910
914
. iter ( )
911
- . filter ( |p| match p. kind {
912
- ast:: GenericParamKind :: Lifetime => true ,
913
- _ => false ,
914
- } )
915
915
. map ( |lt| lt. rewrite ( context, shape) )
916
916
. collect :: < Option < Vec < _ > > > ( ) ?
917
917
. join ( ", " ) ;
918
- if result. is_empty ( ) {
919
- None
920
- } else {
921
- Some ( result)
922
- }
918
+ Some ( result)
923
919
}
0 commit comments