Skip to content

Commit

Permalink
revert-overflow
Browse files Browse the repository at this point in the history
  • Loading branch information
ouz-a committed Nov 19, 2022
1 parent 2a43428 commit 90128c3
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 55 deletions.
16 changes: 0 additions & 16 deletions compiler/rustc_trait_selection/src/traits/project.rs
Original file line number Diff line number Diff line change
Expand Up @@ -566,22 +566,6 @@ impl<'a, 'b, 'tcx> TypeFolder<'tcx> for AssocTypeNormalizer<'a, 'b, 'tcx> {
.flatten()
.unwrap_or_else(|| ty.super_fold_with(self).into())
};
// For cases like #95134 we would like to catch overflows early
// otherwise they slip away and cause ICE.
let recursion_limit = self.tcx().recursion_limit();
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.selcx.tcx(),
self.cause.clone(),
recursion_limit.0,
self.param_env,
ty,
);
self.selcx.infcx().err_ctxt().report_overflow_error(&obligation, true);
}
debug!(
?self.depth,
?ty,
Expand Down
8 changes: 7 additions & 1 deletion src/test/ui/issues/issue-23122-2.stderr
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
error[E0275]: overflow evaluating the requirement `<T as Next>::Next`
error[E0275]: overflow evaluating the requirement `<<<<<<<... as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next: Sized`
--> $DIR/issue-23122-2.rs:10:17
|
LL | type Next = <GetNext<T::Next> as Next>::Next;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_23122_2`)
note: required for `GetNext<<<<<<... as Next>::Next as Next>::Next as Next>::Next as Next>::Next as Next>::Next>` to implement `Next`
--> $DIR/issue-23122-2.rs:9:15
|
LL | impl<T: Next> Next for GetNext<T> {
| ^^^^ ^^^^^^^^^^
= note: the full type name has been written to '$TEST_BUILD_DIR/issues/issue-23122-2/issue-23122-2.long-type-2230235837754269907.txt'

error: aborting due to previous error

Expand Down
4 changes: 1 addition & 3 deletions src/test/ui/recursion/issue-83150.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ LL | func(&mut iter.map(|x| x + 1))
= help: a `loop` may express intention better if this is on purpose
= note: `#[warn(unconditional_recursion)]` on by default

error[E0275]: overflow evaluating the requirement `<std::ops::Range<u8> as Iterator>::Item`
error[E0275]: overflow evaluating the requirement `Map<&mut Map<&mut Map<&mut Map<..., ...>, ...>, ...>, ...>: Iterator`
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_83150`)
= note: required for `Map<&mut std::ops::Range<u8>, [closure@$DIR/issue-83150.rs:12:24: 12:27]>` to implement `Iterator`
= note: 64 redundant requirements hidden
= note: required for `&mut Map<&mut Map<&mut Map<..., ...>, ...>, ...>` to implement `Iterator`
= note: the full type name has been written to '$TEST_BUILD_DIR/recursion/issue-83150/issue-83150.long-type-hash.txt'

Expand Down
28 changes: 0 additions & 28 deletions src/test/ui/recursion/issue-95134.rs

This file was deleted.

7 changes: 0 additions & 7 deletions src/test/ui/recursion/issue-95134.stderr

This file was deleted.

0 comments on commit 90128c3

Please sign in to comment.