diff options
| author | bors <bors@rust-lang.org> | 2022-07-12 11:36:58 +0000 | 
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-07-12 11:36:58 +0000 | 
| commit | 1c7b36d4db582cb47513a6c7176baaec1c3346ab (patch) | |
| tree | e9fd931884a2a25de8541e399271ec90e875f3c6 /compiler/rustc_mir_transform | |
| parent | b3f4c3119957aa0a250cab08ab586b7a9a680ef1 (diff) | |
| parent | 87e25e4fd03a8da19718e800413d000030e0a10c (diff) | |
| download | rust-1c7b36d4db582cb47513a6c7176baaec1c3346ab.tar.gz rust-1c7b36d4db582cb47513a6c7176baaec1c3346ab.zip | |
Auto merge of #99177 - Dylan-DPC:rollup-m0k9q2w, r=Dylan-DPC
Rollup of 6 pull requests Successful merges: - #98622 (rustc_target: Flip the default for `TargetOptions::executables` to true) - #98633 (Fix last `let_chains` blocker) - #98972 (Suggest adding a missing zero to a floating point number) - #99038 (Some more `EarlyBinder` cleanups) - #99154 (use PlaceRef::iter_projections to fix old FIXME) - #99171 (Put back UI test regex) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_mir_transform')
| -rw-r--r-- | compiler/rustc_mir_transform/src/shim.rs | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/compiler/rustc_mir_transform/src/shim.rs b/compiler/rustc_mir_transform/src/shim.rs index 3be1783ae33..f3153a64820 100644 --- a/compiler/rustc_mir_transform/src/shim.rs +++ b/compiler/rustc_mir_transform/src/shim.rs @@ -537,13 +537,12 @@ fn build_call_shim<'tcx>( }; let def_id = instance.def_id(); - let sig = tcx.fn_sig(def_id); - let mut sig = tcx.erase_late_bound_regions(sig); + let sig = tcx.bound_fn_sig(def_id); + let sig = sig.map_bound(|sig| tcx.erase_late_bound_regions(sig)); assert_eq!(sig_substs.is_some(), !instance.has_polymorphic_mir_body()); - if let Some(sig_substs) = sig_substs { - sig = EarlyBinder(sig).subst(tcx, sig_substs); - } + let mut sig = + if let Some(sig_substs) = sig_substs { sig.subst(tcx, sig_substs) } else { sig.0 }; if let CallKind::Indirect(fnty) = call_kind { // `sig` determines our local decls, and thus the callee type in the `Call` terminator. This | 
