Use a reduced recursion limit in the MIR inliner's cycle breaker by saethlin · Pull Request #129714 · rust-lang/rust

@saethlin added the beta-nominated

Nominated for backporting to the compiler in the beta channel.

label

Aug 28, 2024

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

Aug 28, 2024

compiler-errors

compiler-errors

@saethlin

@bors bors added S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

Aug 29, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 30, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 30, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 30, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 30, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 31, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 31, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

bors added a commit to rust-lang-ci/rust that referenced this pull request

Aug 31, 2024
[beta] backports

- Emit specific message for `time<0.3.35` inference failure rust-lang#129343
- Use a reduced recursion limit in the MIR inliner's cycle breaker rust-lang#129714
- rustdoc: do not run doctests with invalid langstrings rust-lang#128838

r? cuviper

@lqd lqd mentioned this pull request

Sep 1, 2024

bors added a commit to rust-lang-ci/rust that referenced this pull request

Sep 1, 2024
[do not merge] test rust-lang#129714 revert on bootstrap times

It seems we're currently experiencing some instability with the benchmarking results. rust-lang#129714 had weird results, somehow failing to measure bootstrap and other benchmarks. Since then bootstrap measurements [have also increased](https://perf.rust-lang.org/bootstrap.html). Let's see if a revert does anything to bootstrap times at the very least, to see if the PR is maybe involved.

r? ghost

bors added a commit to rust-lang-ci/rust that referenced this pull request

Sep 1, 2024
[do not merge] test rust-lang#129714 revert on bootstrap times

It seems we're currently experiencing some instability with the benchmarking results. rust-lang#129714 had weird results, somehow failing to measure bootstrap and other benchmarks. Since then bootstrap measurements [have also increased](https://perf.rust-lang.org/bootstrap.html). Let's see if a revert does anything to bootstrap times at the very least, to see if the PR is maybe involved.

r? ghost

@lqd lqd mentioned this pull request

Sep 1, 2024

@lcnr lcnr mentioned this pull request

Sep 23, 2025

bors added a commit that referenced this pull request

Sep 30, 2025
…etrochenkov

Make the inliner recursion depth hack stronger

We previously tried to introduce a more gentle version of this hack in github.com//pull/129714, but that wasn't enough because the problem was re-reported in #131960 (comment). So this increases the magic number from 2 to 8. Surely nobody will complain that they have a type whose depth grows more than 8 times faster than its call graph depth.

Zalathar added a commit to Zalathar/rust that referenced this pull request

Oct 1, 2025
…elmann

add regression test

closes rust-lang#128887

the errors in that issue are due to two separate issues:
- MIR inlining causing the trait solver to hit the recursion limit (partially fixed in rust-lang#129714)
- using subtyping in method selection for paths (fixed in rust-lang#129073)

We moved any remaining issues due to MIR inlining into rust-lang#131960, but keeping rust-lang#128887 open as well seems unhelpful and confusing.

rust-timer added a commit that referenced this pull request

Oct 1, 2025
Rollup merge of #146918 - lcnr:add-regression-test, r=jdonszelmann

add regression test

closes #128887

the errors in that issue are due to two separate issues:
- MIR inlining causing the trait solver to hit the recursion limit (partially fixed in #129714)
- using subtyping in method selection for paths (fixed in #129073)

We moved any remaining issues due to MIR inlining into #131960, but keeping #128887 open as well seems unhelpful and confusing.