@@ -30,9 +30,9 @@ use rewrite::{Rewrite, RewriteContext};
30
30
use shape:: { Indent , Shape } ;
31
31
use spanned:: Spanned ;
32
32
use types:: join_bounds;
33
- use utils:: { colon_spaces, contains_skip, end_typaram , first_line_width, format_abi,
34
- format_constness , format_defaultness, format_mutability, format_unsafety,
35
- format_visibility , is_attributes_extendable, last_line_contains_single_line_comment,
33
+ use utils:: { colon_spaces, contains_skip, first_line_width, format_abi, format_constness ,
34
+ format_defaultness, format_mutability, format_unsafety, format_visibility ,
35
+ is_attributes_extendable, last_line_contains_single_line_comment,
36
36
last_line_used_width, last_line_width, mk_sp, semicolon_for_expr, starts_with_newline,
37
37
stmt_expr, trim_newlines, trimmed_last_line_width} ;
38
38
use vertical:: rewrite_with_alignment;
@@ -1871,12 +1871,8 @@ fn rewrite_fn_base(
1871
1871
. generics
1872
1872
. params
1873
1873
. iter ( )
1874
- . filter_map ( |p| match p {
1875
- & ast:: GenericParam :: Type ( ref t) => Some ( t) ,
1876
- _ => None ,
1877
- } )
1878
1874
. last ( )
1879
- . map_or ( lo_after_visibility, |tp| end_typaram ( tp ) ) ;
1875
+ . map_or ( lo_after_visibility, |param| param . span ( ) . hi ( ) ) ;
1880
1876
let args_end = if fd. inputs . is_empty ( ) {
1881
1877
context
1882
1878
. codemap
@@ -2346,47 +2342,13 @@ fn rewrite_generics_inner(
2346
2342
// FIXME: convert bounds to where clauses where they get too big or if
2347
2343
// there is a where clause at all.
2348
2344
2349
- // Wrapper type
2350
- enum GenericsArg < ' a > {
2351
- Lifetime ( & ' a ast:: LifetimeDef ) ,
2352
- TyParam ( & ' a ast:: TyParam ) ,
2353
- }
2354
- impl < ' a > Rewrite for GenericsArg < ' a > {
2355
- fn rewrite ( & self , context : & RewriteContext , shape : Shape ) -> Option < String > {
2356
- match * self {
2357
- GenericsArg :: Lifetime ( lifetime) => lifetime. rewrite ( context, shape) ,
2358
- GenericsArg :: TyParam ( ty) => ty. rewrite ( context, shape) ,
2359
- }
2360
- }
2361
- }
2362
- impl < ' a > Spanned for GenericsArg < ' a > {
2363
- fn span ( & self ) -> Span {
2364
- match * self {
2365
- GenericsArg :: Lifetime ( lifetime) => lifetime. span ( ) ,
2366
- GenericsArg :: TyParam ( ty) => ty. span ( ) ,
2367
- }
2368
- }
2369
- }
2370
-
2371
2345
if generics. params . is_empty ( ) {
2372
2346
return Some ( String :: new ( ) ) ;
2373
2347
}
2374
2348
2375
- let generics_args = generics
2376
- . params
2377
- . iter ( )
2378
- . filter_map ( |p| match p {
2379
- & ast:: GenericParam :: Lifetime ( ref l) => Some ( l) ,
2380
- _ => None ,
2381
- } )
2382
- . map ( |lt| GenericsArg :: Lifetime ( lt) )
2383
- . chain ( generics. params . iter ( ) . filter_map ( |ty| match ty {
2384
- & ast:: GenericParam :: Type ( ref ty) => Some ( GenericsArg :: TyParam ( ty) ) ,
2385
- _ => None ,
2386
- } ) ) ;
2387
2349
let items = itemize_list (
2388
2350
context. codemap ,
2389
- generics_args ,
2351
+ generics . params . iter ( ) ,
2390
2352
">" ,
2391
2353
"," ,
2392
2354
|arg| arg. span ( ) . lo ( ) ,
@@ -2868,3 +2830,12 @@ impl Rewrite for ast::ForeignItem {
2868
2830
)
2869
2831
}
2870
2832
}
2833
+
2834
+ impl Rewrite for ast:: GenericParam {
2835
+ fn rewrite ( & self , context : & RewriteContext , shape : Shape ) -> Option < String > {
2836
+ match * self {
2837
+ ast:: GenericParam :: Lifetime ( ref lifetime_def) => lifetime_def. rewrite ( context, shape) ,
2838
+ ast:: GenericParam :: Type ( ref ty) => ty. rewrite ( context, shape) ,
2839
+ }
2840
+ }
2841
+ }
0 commit comments