Skip to content

add assembly test for infinite recursion with become - #148907

Merged
bors merged 1 commit into
rust-lang:mainfrom
folkertdev:tail-call-infinite-recursion
Nov 14, 2025
Merged

add assembly test for infinite recursion with become#148907
bors merged 1 commit into
rust-lang:mainfrom
folkertdev:tail-call-infinite-recursion

Conversation

@folkertdev

@folkertdevfolkertdev commented Nov 13, 2025

Copy link
Copy Markdown
Contributor

tracking issue: #112788
fixes#125698

Check that infinite recursion via become does not grow the stack (even on opt-level 0). The incomplete implementation of become did not guarantee that earlier. Although it's unlikely this ever regresses we may as well test it and close the issue.

r? @WaffleLapkin

@folkertdevfolkertdev added the F-explicit_tail_calls `#![feature(explicit_tail_calls)]` label Nov 13, 2025
@rustbotrustbot 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 Nov 13, 2025
@rust-log-analyzer

This comment has been minimized.

@folkertdev
folkertdevforce-pushed the tail-call-infinite-recursion branch from 796f9bd to ddebb62CompareNovember 13, 2025 15:57

@WaffleLapkinWaffleLapkin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WaffleLapkin

Copy link
Copy Markdown
Member

@bors r+ rollip

@bors

bors commented Nov 13, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit ddebb62 has been approved by WaffleLapkin

It is now in the queue for this repository.

@borsbors 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 Nov 13, 2025
@WaffleLapkin

Copy link
Copy Markdown
Member

@bors rollup

Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 13, 2025
…rsion, r=WaffleLapkin
add assembly test for infinite recursion with `become`
tracking issue: rust-lang#112788fixesrust-lang#125698
Check that infinite recursion via `become` does not grow the stack (even on opt-level 0). The incomplete implementation of `become` did not guarantee that earlier. Although it's unlikely this ever regresses we may as well test it and close the issue.
r? `@WaffleLapkin`
@ZalatharZalathar mentioned this pull request Nov 13, 2025
bors added a commit that referenced this pull request Nov 14, 2025
Rollup of 14 pull requests
Successful merges:
- #146978 (Emit error when using path-segment keyword as cfg pred)
- #148543 (Correctly link to associated trait items in reexports)
- #148808 (Some resolve cleanups)
- #148812 (coverage: Associate hole spans with expansion tree nodes )
- #148826 (CStr docs: Fix CStr vs &CStr confusion)
- #148850 (Implement `Read::read_array`)
- #148867 (Refactor `Box::take`)
- #148870 (Remove unused LLVMModuleRef argument)
- #148878 (error when ABI does not support guaranteed tail calls)
- #148901 (Disable rustdoc-test-builder test partially for SGX target.)
- #148902 (add missing s390x target feature to std detect test)
- #148904 (waffle: stop watching codegen ssa)
- #148906 (Expose fmt::Arguments::from_str as unstable.)
- #148907 (add assembly test for infinite recursion with `become`)
r? `@ghost`
`@rustbot` modify labels: rollup
Zalathar added a commit to Zalathar/rust that referenced this pull request Nov 14, 2025
…rsion, r=WaffleLapkin
add assembly test for infinite recursion with `become`
tracking issue: rust-lang#112788fixesrust-lang#125698
Check that infinite recursion via `become` does not grow the stack (even on opt-level 0). The incomplete implementation of `become` did not guarantee that earlier. Although it's unlikely this ever regresses we may as well test it and close the issue.
r? ``@WaffleLapkin``
@ZalatharZalathar mentioned this pull request Nov 14, 2025
bors added a commit that referenced this pull request Nov 14, 2025
Rollup of 15 pull requests
Successful merges:
- #148543 (Correctly link to associated trait items in reexports)
- #148808 (Some resolve cleanups)
- #148812 (coverage: Associate hole spans with expansion tree nodes )
- #148826 (CStr docs: Fix CStr vs &CStr confusion)
- #148850 (Implement `Read::read_array`)
- #148867 (Refactor `Box::take`)
- #148870 (Remove unused LLVMModuleRef argument)
- #148878 (error when ABI does not support guaranteed tail calls)
- #148901 (Disable rustdoc-test-builder test partially for SGX target.)
- #148902 (add missing s390x target feature to std detect test)
- #148904 (waffle: stop watching codegen ssa)
- #148906 (Expose fmt::Arguments::from_str as unstable.)
- #148907 (add assembly test for infinite recursion with `become`)
- #148928 (Move & adjust some `!`-adjacent tests)
- #148929 (ignore `build-rust-analyzer` even if it's a symlink)
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 6bbc4cb into rust-lang:mainNov 14, 2025
11 checks passed
@rustbotrustbot added this to the 1.93.0 milestone Nov 14, 2025
rust-timer added a commit that referenced this pull request Nov 14, 2025
Rollup merge of #148907 - folkertdev:tail-call-infinite-recursion, r=WaffleLapkin
add assembly test for infinite recursion with `become`
tracking issue: #112788fixes#125698
Check that infinite recursion via `become` does not grow the stack (even on opt-level 0). The incomplete implementation of `become` did not guarantee that earlier. Although it's unlikely this ever regresses we may as well test it and close the issue.
r? ```@WaffleLapkin```
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-explicit_tail_calls`#![feature(explicit_tail_calls)]`S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inconsistent recursive fn call elimination

5 participants

@folkertdev@rust-log-analyzer@WaffleLapkin@bors@rustbot