Skip to content

Commit

Permalink
Rollup merge of #116340 - lcnr:early-binder-skip_binder, r=compiler-e…
Browse files Browse the repository at this point in the history
…rrors

`skip_binder` to `instantiate_identity`
  • Loading branch information
matthiaskrgr authored Oct 2, 2023
2 parents b3853cc + dbc2cc8 commit cfe9e13
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions compiler/rustc_middle/src/ty/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -617,12 +617,17 @@ impl<'tcx> Instance<'tcx> {
v: EarlyBinder<T>,
) -> Result<T, NormalizationError<'tcx>>
where
T: TypeFoldable<TyCtxt<'tcx>> + Clone,
T: TypeFoldable<TyCtxt<'tcx>>,
{
if let Some(args) = self.args_for_mir_body() {
tcx.try_instantiate_and_normalize_erasing_regions(args, param_env, v)
} else {
tcx.try_normalize_erasing_regions(param_env, v.skip_binder())
// We're using `instantiate_identity` as e.g.
// `FnPtrShim` is separately generated for every
// instantiation of the `FnDef`, so the MIR body
// is already instantiated. Any generic parameters it
// contains are generic parameters from the caller.
tcx.try_normalize_erasing_regions(param_env, v.instantiate_identity())
}
}

Expand Down

0 comments on commit cfe9e13

Please sign in to comment.