diff options
| author | Eric Holk <ericholk@microsoft.com> | 2023-12-04 13:43:38 -0800 |
|---|---|---|
| committer | Eric Holk <ericholk@microsoft.com> | 2023-12-04 14:33:46 -0800 |
| commit | 50ef8006eb68682471894c99b49eb4e39b48c745 (patch) | |
| tree | e64b78caa9226fb5267e38afffebf0813f228a33 /compiler/rustc_resolve/src | |
| parent | 26f9954971a2895580e02578fe18bc6f9adea3c9 (diff) | |
| download | rust-50ef8006eb68682471894c99b49eb4e39b48c745.tar.gz rust-50ef8006eb68682471894c99b49eb4e39b48c745.zip | |
Address code review feedback
Diffstat (limited to 'compiler/rustc_resolve/src')
| -rw-r--r-- | compiler/rustc_resolve/src/late.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/rustc_resolve/src/late.rs b/compiler/rustc_resolve/src/late.rs index c5d6574af60..ad14f5e5225 100644 --- a/compiler/rustc_resolve/src/late.rs +++ b/compiler/rustc_resolve/src/late.rs @@ -916,10 +916,10 @@ impl<'a: 'ast, 'ast, 'tcx> Visitor<'ast> for LateResolutionVisitor<'a, '_, 'ast, &sig.decl.output, ); - if let Some((async_node_id, _)) = + if let Some((coro_node_id, _)) = sig.header.coro_kind.map(|coro_kind| coro_kind.return_id()) { - this.record_lifetime_params_for_impl_trait(async_node_id); + this.record_lifetime_params_for_impl_trait(coro_node_id); } }, ); @@ -942,13 +942,13 @@ impl<'a: 'ast, 'ast, 'tcx> Visitor<'ast> for LateResolutionVisitor<'a, '_, 'ast, this.visit_generics(generics); let declaration = &sig.decl; - let async_node_id = + let coro_node_id = sig.header.coro_kind.map(|coro_kind| coro_kind.return_id()); this.with_lifetime_rib( LifetimeRibKind::AnonymousCreateParameter { binder: fn_id, - report_in_path: async_node_id.is_some(), + report_in_path: coro_node_id.is_some(), }, |this| { this.resolve_fn_signature( @@ -961,7 +961,7 @@ impl<'a: 'ast, 'ast, 'tcx> Visitor<'ast> for LateResolutionVisitor<'a, '_, 'ast, &declaration.output, ); - if let Some((async_node_id, _)) = async_node_id { + if let Some((async_node_id, _)) = coro_node_id { this.record_lifetime_params_for_impl_trait(async_node_id); } }, @@ -4291,8 +4291,10 @@ impl<'a: 'ast, 'b, 'ast, 'tcx> LateResolutionVisitor<'a, 'b, 'ast, 'tcx> { // `async |x| ...` gets desugared to `|x| async {...}`, so we need to // resolve the arguments within the proper scopes so that usages of them inside the // closure are detected as upvars rather than normal closure arg usages. + // + // Similarly, `gen |x| ...` gets desugared to `|x| gen {...}`, so we handle that too. ExprKind::Closure(box ast::Closure { - coro_kind: Some(CoroutineKind::Async { .. }), + coro_kind: Some(_), ref fn_decl, ref body, .. |
