about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorb-naber <bn263@gmx.de>2022-10-08 15:52:59 +0200
committerb-naber <bn263@gmx.de>2022-10-08 17:48:02 +0200
commit048e637e9ee4c9fe8813109d89f97e140776b0a4 (patch)
treec997227d97e9b3be55e9df642158145653d205b1 /compiler
parente83dcf4ecd678bac474d6aaca1cf0294bcbcd1b3 (diff)
downloadrust-048e637e9ee4c9fe8813109d89f97e140776b0a4.tar.gz
rust-048e637e9ee4c9fe8813109d89f97e140776b0a4.zip
handle late-bound vars from inner binders correctly and add test
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_middle/src/ty/print/pretty.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_middle/src/ty/print/pretty.rs b/compiler/rustc_middle/src/ty/print/pretty.rs
index b78661270e1..659bd884556 100644
--- a/compiler/rustc_middle/src/ty/print/pretty.rs
+++ b/compiler/rustc_middle/src/ty/print/pretty.rs
@@ -2093,7 +2093,7 @@ impl<'a, 'tcx> ty::TypeFolder<'tcx> for RegionFolder<'a, 'tcx> {
     fn fold_region(&mut self, r: ty::Region<'tcx>) -> ty::Region<'tcx> {
         let name = &mut self.name;
         let region = match *r {
-            ty::ReLateBound(db, br) => {
+            ty::ReLateBound(db, br) if db >= self.current_index => {
                 *self.region_map.entry(br).or_insert_with(|| name(Some(db), self.current_index, br))
             }
             ty::RePlaceholder(ty::PlaceholderRegion { name: kind, .. }) => {