diff options
| author | Michael Goulet <michael@errs.io> | 2025-05-24 17:24:55 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2025-05-25 14:12:17 +0000 |
| commit | 84a3255cc309c9c25e8ed2c16435bb882f364e96 (patch) | |
| tree | 02a9495515e18f972a22f38034ee4bccc1cbdcca /compiler/rustc_infer/src | |
| parent | aa57e46e24a4a08cc336325e92567b40b0c2ba62 (diff) | |
| download | rust-84a3255cc309c9c25e8ed2c16435bb882f364e96.tar.gz rust-84a3255cc309c9c25e8ed2c16435bb882f364e96.zip | |
Fast path fold_predicate in old canonicalizer
Diffstat (limited to 'compiler/rustc_infer/src')
| -rw-r--r-- | compiler/rustc_infer/src/infer/canonical/canonicalizer.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_infer/src/infer/canonical/canonicalizer.rs b/compiler/rustc_infer/src/infer/canonical/canonicalizer.rs index 26ecaebe97f..0b543f091f7 100644 --- a/compiler/rustc_infer/src/infer/canonical/canonicalizer.rs +++ b/compiler/rustc_infer/src/infer/canonical/canonicalizer.rs @@ -493,6 +493,10 @@ impl<'cx, 'tcx> TypeFolder<TyCtxt<'tcx>> for Canonicalizer<'cx, 'tcx> { ct } } + + fn fold_predicate(&mut self, p: ty::Predicate<'tcx>) -> ty::Predicate<'tcx> { + if p.flags().intersects(self.needs_canonical_flags) { p.super_fold_with(self) } else { p } + } } impl<'cx, 'tcx> Canonicalizer<'cx, 'tcx> { |
