@@ -1890,7 +1890,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
18901890 if !generic_args. parenthesized && !has_lifetimes {
18911891 generic_args. args = self
18921892 . elided_path_lifetimes ( path_span, expected_lifetimes)
1893- . into_iter ( )
18941893 . map ( |lt| GenericArg :: Lifetime ( lt) )
18951894 . chain ( generic_args. args . into_iter ( ) )
18961895 . collect ( ) ;
@@ -2460,16 +2459,15 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
24602459 hir:: Lifetime { hir_id : self . lower_node_id ( id) , span, name }
24612460 }
24622461
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 > {
24692468 params
24702469 . 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 ( ) ) )
24732471 }
24742472
24752473 fn lower_generic_params (
@@ -3200,8 +3198,12 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
32003198 /// `std::cell::Ref<T>`; note that implicit lifetimes in these
32013199 /// sorts of cases are deprecated. This may therefore report a warning or an
32023200 /// 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) )
32053207 }
32063208
32073209 fn elided_path_lifetime ( & mut self , span : Span ) -> hir:: Lifetime {
0 commit comments