diff options
| author | Michael Goulet <michael@errs.io> | 2024-01-19 20:04:14 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-01-22 16:50:30 +0000 |
| commit | f700ee4e709abb2243acd0fb8b9928160896c2bd (patch) | |
| tree | d06c504a8d2be6182384b2bc0f0cd8d9ed57bccf /compiler/rustc_ty_utils/src/instance.rs | |
| parent | 30662530506ed29ea29191798cb2ab8aa1249023 (diff) | |
| download | rust-f700ee4e709abb2243acd0fb8b9928160896c2bd.tar.gz rust-f700ee4e709abb2243acd0fb8b9928160896c2bd.zip | |
Do not normalize closure signature when building FnOnce shim
Diffstat (limited to 'compiler/rustc_ty_utils/src/instance.rs')
| -rw-r--r-- | compiler/rustc_ty_utils/src/instance.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_ty_utils/src/instance.rs b/compiler/rustc_ty_utils/src/instance.rs index 81d5304b812..18eb5314e89 100644 --- a/compiler/rustc_ty_utils/src/instance.rs +++ b/compiler/rustc_ty_utils/src/instance.rs @@ -322,7 +322,12 @@ fn resolve_associated_item<'tcx>( match *rcvr_args.type_at(0).kind() { ty::Closure(closure_def_id, args) => { let trait_closure_kind = tcx.fn_trait_kind_from_def_id(trait_id).unwrap(); - Instance::resolve_closure(tcx, closure_def_id, args, trait_closure_kind) + Some(Instance::resolve_closure( + tcx, + closure_def_id, + args, + trait_closure_kind, + )) } ty::FnDef(..) | ty::FnPtr(..) => Some(Instance { def: ty::InstanceDef::FnPtrShim(trait_item_id, rcvr_args.type_at(0)), |
