diff options
| author | Michael Goulet <michael@errs.io> | 2023-11-22 23:28:28 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-11-22 23:28:28 +0000 |
| commit | 4ec68576d3c7dc797629be7c1baa5d8bc057c8d7 (patch) | |
| tree | 4707af9d7a257315a50192b2497db1618762d136 /compiler/rustc_trait_selection/src | |
| parent | 06d1afe5189bc0830b9b5654fd0ba89e9829f4cd (diff) | |
Cache flags for ty::Const
Diffstat (limited to 'compiler/rustc_trait_selection/src')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/query/normalize.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/query/normalize.rs b/compiler/rustc_trait_selection/src/traits/query/normalize.rs index dba00ce0154..8faaa6be9f5 100644 --- a/compiler/rustc_trait_selection/src/traits/query/normalize.rs +++ b/compiler/rustc_trait_selection/src/traits/query/normalize.rs @@ -160,14 +160,12 @@ impl<'tcx> TypeVisitor<TyCtxt<'tcx>> for MaxEscapingBoundVarVisitor { } fn visit_const(&mut self, ct: ty::Const<'tcx>) -> ControlFlow<Self::BreakTy> { - match ct.kind() { - ty::ConstKind::Bound(debruijn, _) if debruijn >= self.outer_index => { - self.escaping = - self.escaping.max(debruijn.as_usize() - self.outer_index.as_usize()); - ControlFlow::Continue(()) - } - _ => ct.super_visit_with(self), + if ct.outer_exclusive_binder() > self.outer_index { + self.escaping = self + .escaping + .max(ct.outer_exclusive_binder().as_usize() - self.outer_index.as_usize()); } + ControlFlow::Continue(()) } } |
