about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_trait_selection/src/traits/project.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/project.rs b/compiler/rustc_trait_selection/src/traits/project.rs
index aeaccffd5f5..444ca6471e2 100644
--- a/compiler/rustc_trait_selection/src/traits/project.rs
+++ b/compiler/rustc_trait_selection/src/traits/project.rs
@@ -557,7 +557,10 @@ impl<'a, 'b, 'tcx> TypeFolder<'tcx> for AssocTypeNormalizer<'a, 'b, 'tcx> {
                 // For cases like #95134 we would like to catch overflows early
                 // otherwise they slip away away and cause ICE.
                 let recursion_limit = self.tcx().recursion_limit();
-                if !recursion_limit.value_within_limit(self.depth) {
+                if !recursion_limit.value_within_limit(self.depth)
+                    // HACK: Don't overflow when running cargo doc see #100991
+                    && !self.tcx().sess.opts.actually_rustdoc
+                {
                     let obligation = Obligation::with_depth(
                         self.cause.clone(),
                         recursion_limit.0,