From 36faf8fc7e4e2b93faac47b59f89d67c61bf101e Mon Sep 17 00:00:00 2001 From: ouz-a Date: Fri, 26 Aug 2022 15:41:14 +0300 Subject: [PATCH] Don't catch overflow when running with cargo doc --- compiler/rustc_trait_selection/src/traits/project.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_trait_selection/src/traits/project.rs b/compiler/rustc_trait_selection/src/traits/project.rs index aeaccffd5f5f7..444ca6471e2e4 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,