@@ -136,7 +136,7 @@ pub struct LoweringContext<'a> {
136136 /// When `is_collectin_in_band_lifetimes` is true, each lifetime is checked
137137 /// against this list to see if it is already in-scope, or if a definition
138138 /// needs to be created for it.
139- in_scope_lifetimes : Vec < Ident > ,
139+ in_scope_lifetimes : Vec < ParamName > ,
140140
141141 current_module : NodeId ,
142142
@@ -865,7 +865,7 @@ impl<'a> LoweringContext<'a> {
865865 return ;
866866 }
867867
868- if self . in_scope_lifetimes . contains ( & ident. modern ( ) ) {
868+ if self . in_scope_lifetimes . contains ( & ParamName :: Plain ( ident. modern ( ) ) ) {
869869 return ;
870870 }
871871
@@ -899,7 +899,7 @@ impl<'a> LoweringContext<'a> {
899899 {
900900 let old_len = self . in_scope_lifetimes . len ( ) ;
901901 let lt_def_names = params. iter ( ) . filter_map ( |param| match param. kind {
902- GenericParamKind :: Lifetime { .. } => Some ( param. ident . modern ( ) ) ,
902+ GenericParamKind :: Lifetime { .. } => Some ( ParamName :: Plain ( param. ident . modern ( ) ) ) ,
903903 _ => None ,
904904 } ) ;
905905 self . in_scope_lifetimes . extend ( lt_def_names) ;
@@ -2267,10 +2267,14 @@ impl<'a> LoweringContext<'a> {
22672267 let lifetime_params: Vec < ( Span , ParamName ) > =
22682268 this. in_scope_lifetimes
22692269 . iter ( ) . cloned ( )
2270- . map ( |ident | ( ident. span , ParamName :: Plain ( ident ) ) )
2270+ . map ( |name | ( name . ident ( ) . span , name ) )
22712271 . chain ( this. lifetimes_to_define . iter ( ) . cloned ( ) )
22722272 . collect ( ) ;
22732273
2274+ debug ! ( "lower_async_fn_ret_ty: in_scope_lifetimes={:#?}" , this. in_scope_lifetimes) ;
2275+ debug ! ( "lower_async_fn_ret_ty: lifetimes_to_define={:#?}" , this. lifetimes_to_define) ;
2276+ debug ! ( "lower_async_fn_ret_ty: lifetime_params={:#?}" , lifetime_params) ;
2277+
22742278 let generic_params =
22752279 lifetime_params
22762280 . iter ( ) . cloned ( )
0 commit comments