-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raise the default recursion limit to 128 #62450
Conversation
Beta-nominated because low-risk and, I believe, the relevant regression has made its way into beta. I haven’t verified though. |
At least in IDE, one definitely wants to limit the amount of work the compiler can do in the worst case: in IDEs, pathological short code that causes a lot of computation is both more problematic (one does not simply In the limit, perfectly responsive iDE should be a primitive-recursive function that is limited by fuel :) |
@bors r+ |
📌 Commit 7e40df3 has been approved by |
@bors rollup |
Raise the default recursion limit to 128 The previous limit of 64 is being (just) barely hit by genuine code out there, which is causing issues like rust-lang#62059 to rear their end. Ideally, we wouldn’t have such arbitrary limits at all, but while we do, it makes a lot of sense to just raise this limit whenever genuine use-cases end up hitting it. r? @pnkfelix Fixes rust-lang#62059
Raise the default recursion limit to 128 The previous limit of 64 is being (just) barely hit by genuine code out there, which is causing issues like rust-lang#62059 to rear their end. Ideally, we wouldn’t have such arbitrary limits at all, but while we do, it makes a lot of sense to just raise this limit whenever genuine use-cases end up hitting it. r? @pnkfelix Fixes rust-lang#62059
Rollup of 9 pull requests Successful merges: - #62417 (Fix ICEs when `Self` is used in type aliases) - #62450 (Raise the default recursion limit to 128) - #62470 (Prevent shrinking of "crate select" element on Firefox) - #62515 (cli: make help output for -l and -L consistent) - #62520 (Regression test for issue 42574.) - #62526 (normalize use of backticks in compiler messages for libsyntax/feature_gate.rs) - #62527 (clarify that debug_assert does not completely omits the code) - #62535 (ci: Configure $CI_JOB_NAME correctly) - #62541 (Add spastorino for rustc-guide toolstate) Failed merges: r? @ghost
fwiw if we incorporate chalk we remove this particular arbitrary limit, at least in trait solving (though we still have some notion of maximum size of types we have to enforce) =) |
discussed at T-compiler meeting. Accepted for beta backport. |
[beta] Rollup backports Cherry picked: * rustc_target: avoid negative register counts in the SysV x86_64 ABI. #62380 * Fix ICEs when `Self` is used in type aliases #62417 * Raise the default recursion limit to 128 #62450 * Handle errors during error recovery gracefully #62604 * Correctly break out of recovery loop #62607 * Cancel unemitted diagnostics during error recovery #62666 * ci: pin awscli dependencies #62856 * Ensure that checkout is with \n line endings #62564 Rolled up: * [beta] Backport #62615 #62793 * [beta] Fix #62660 #62792 r? @ghost
[beta] Rollup backports Cherry picked: * rustc_target: avoid negative register counts in the SysV x86_64 ABI. #62380 * Fix ICEs when `Self` is used in type aliases #62417 * Raise the default recursion limit to 128 #62450 * Handle errors during error recovery gracefully #62604 * Correctly break out of recovery loop #62607 * Cancel unemitted diagnostics during error recovery #62666 * ci: pin awscli dependencies #62856 * Ensure that checkout is with \n line endings #62564 Rolled up: * [beta] Backport #62615 #62793 * [beta] Fix #62660 #62792 r? @ghost
The limit has been raised in Rustc a long time ago: rust-lang/rust#62450 This affects macro expansion depth and trait solving depth
The limit has been raised in Rustc a long time ago: rust-lang/rust#62450 This affects macro expansion depth and trait solving depth
8885: Raise the default recursion limit from 64 to 128 r=vlad20012 a=vlad20012 The limit has been raised in Rustc a long time ago: rust-lang/rust#62450 This affects max macro expansion depth and max trait solving depth. changelog: Expand macros up to 128 nesting depth Co-authored-by: vlad20012 <[email protected]>
The limit has been raised in Rustc a long time ago: rust-lang/rust#62450 This affects macro expansion depth and trait solving depth
The previous limit of 64 is being (just) barely hit by genuine code out there, which is causing issues like #62059 to rear their end.
Ideally, we wouldn’t have such arbitrary limits at all, but while we do, it makes a lot of sense to just raise this limit whenever genuine use-cases end up hitting it.
r? @pnkfelix
Fixes #62059