@@ -1890,7 +1890,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1890
1890
if !generic_args. parenthesized && !has_lifetimes {
1891
1891
generic_args. args = self
1892
1892
. elided_path_lifetimes ( path_span, expected_lifetimes)
1893
- . into_iter ( )
1894
1893
. map ( |lt| GenericArg :: Lifetime ( lt) )
1895
1894
. chain ( generic_args. args . into_iter ( ) )
1896
1895
. collect ( ) ;
@@ -2460,16 +2459,15 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
2460
2459
hir:: Lifetime { hir_id : self . lower_node_id ( id) , span, name }
2461
2460
}
2462
2461
2463
- fn lower_generic_params_mut (
2464
- & mut self ,
2465
- params : & [ GenericParam ] ,
2466
- add_bounds : & NodeMap < Vec < GenericBound > > ,
2467
- mut itctx : ImplTraitContext < ' _ , ' hir > ,
2468
- ) -> Vec < hir:: GenericParam < ' hir > > {
2462
+ fn lower_generic_params_mut < ' s > (
2463
+ & ' s mut self ,
2464
+ params : & ' s [ GenericParam ] ,
2465
+ add_bounds : & ' s NodeMap < Vec < GenericBound > > ,
2466
+ mut itctx : ImplTraitContext < ' s , ' hir > ,
2467
+ ) -> impl Iterator < Item = hir:: GenericParam < ' hir > > + Captures < ' a > + Captures < ' s > {
2469
2468
params
2470
2469
. iter ( )
2471
- . map ( |param| self . lower_generic_param ( param, add_bounds, itctx. reborrow ( ) ) )
2472
- . collect ( )
2470
+ . map ( move |param| self . lower_generic_param ( param, add_bounds, itctx. reborrow ( ) ) )
2473
2471
}
2474
2472
2475
2473
fn lower_generic_params (
@@ -3200,8 +3198,12 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
3200
3198
/// `std::cell::Ref<T>`; note that implicit lifetimes in these
3201
3199
/// sorts of cases are deprecated. This may therefore report a warning or an
3202
3200
/// error, depending on the mode.
3203
- fn elided_path_lifetimes ( & mut self , span : Span , count : usize ) -> Vec < hir:: Lifetime > {
3204
- ( 0 ..count) . map ( |_| self . elided_path_lifetime ( span) ) . collect ( )
3201
+ fn elided_path_lifetimes < ' s > (
3202
+ & ' s mut self ,
3203
+ span : Span ,
3204
+ count : usize ,
3205
+ ) -> impl Iterator < Item = hir:: Lifetime > + Captures < ' a > + Captures < ' s > + Captures < ' hir > {
3206
+ ( 0 ..count) . map ( move |_| self . elided_path_lifetime ( span) )
3205
3207
}
3206
3208
3207
3209
fn elided_path_lifetime ( & mut self , span : Span ) -> hir:: Lifetime {
0 commit comments