diff options
| author | Kyle Matsuda <kyle.yoshio.matsuda@gmail.com> | 2023-04-14 10:11:01 -0600 |
|---|---|---|
| committer | Kyle Matsuda <kyle.yoshio.matsuda@gmail.com> | 2023-05-06 22:32:39 -0600 |
| commit | e4f6b8b43b6e9c0373ee45aaa7a6f3094c475137 (patch) | |
| tree | 190f4afd8a4a6c2a6ffb67276909a3454298b5f0 /compiler/rustc_middle/src | |
| parent | 82f57c16b7f362c8f6509b9c334403d81a11beed (diff) | |
| download | rust-e4f6b8b43b6e9c0373ee45aaa7a6f3094c475137.tar.gz rust-e4f6b8b43b6e9c0373ee45aaa7a6f3094c475137.zip | |
make subst_mir take EarlyBinder
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/ty/instance.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/rustc_middle/src/ty/instance.rs b/compiler/rustc_middle/src/ty/instance.rs index 808f46bb2bb..4bbd7aaf10f 100644 --- a/compiler/rustc_middle/src/ty/instance.rs +++ b/compiler/rustc_middle/src/ty/instance.rs @@ -578,14 +578,15 @@ impl<'tcx> Instance<'tcx> { self.def.has_polymorphic_mir_body().then_some(self.substs) } - pub fn subst_mir<T>(&self, tcx: TyCtxt<'tcx>, v: &T) -> T + pub fn subst_mir<T>(&self, tcx: TyCtxt<'tcx>, v: EarlyBinder<&T>) -> T where T: TypeFoldable<TyCtxt<'tcx>> + Copy, { + let v = v.map_bound(|v| *v); if let Some(substs) = self.substs_for_mir_body() { - EarlyBinder(*v).subst(tcx, substs) + v.subst(tcx, substs) } else { - *v + v.subst_identity() } } |
