diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-02-26 16:06:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-26 16:06:04 +0100 |
| commit | 4f167b4baf2a05580d09db9d2d374bbb4852c71c (patch) | |
| tree | 8ae5677b5b886d18f66c23b34abd2fa45c5cec43 /compiler/rustc_trait_selection/src | |
| parent | 9d5ab73523c5e19316c277d77f7dd8f5247d8bec (diff) | |
| parent | ff07f55db500dafb2d6570b5de7928bcc10a955f (diff) | |
| download | rust-4f167b4baf2a05580d09db9d2d374bbb4852c71c.tar.gz rust-4f167b4baf2a05580d09db9d2d374bbb4852c71c.zip | |
Rollup merge of #121617 - compiler-errors:async-closure-kind-check, r=oli-obk
Actually use the right closure kind when checking async Fn goals Dumb copy-paste mistake on my part from #120712. Sorry! r? oli-obk Fixes #121599
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/select/confirmation.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/confirmation.rs b/compiler/rustc_trait_selection/src/traits/select/confirmation.rs index f76be876948..d316149731e 100644 --- a/compiler/rustc_trait_selection/src/traits/select/confirmation.rs +++ b/compiler/rustc_trait_selection/src/traits/select/confirmation.rs @@ -934,7 +934,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { (trait_ref, Ty::from_closure_kind(tcx, ty::ClosureKind::Fn)) } ty::Closure(_, args) => { - let sig = args.as_closure().sig(); + let args = args.as_closure(); + let sig = args.sig(); let trait_ref = sig.map_bound(|sig| { ty::TraitRef::new( self.tcx(), @@ -950,7 +951,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { ty::TraitRef::new(tcx, future_trait_def_id, [sig.output()]) }), )); - (trait_ref, Ty::from_closure_kind(tcx, ty::ClosureKind::Fn)) + (trait_ref, args.kind_ty()) } _ => bug!("expected callable type for AsyncFn candidate"), }; |
