Skip to content

Conversation

@folkertdev
Copy link
Contributor

tracking issue: #112788
fixes #139305

Combining return position impl trait (RPIT) with guaranteed tail calls does not currently work, but at least it does not ICE any more.

Using RPIT probably should work, see also #144953.

The snippet in the issue is not valid for a variety of reasons, and based on the assert that got triggered the ICE was just any -> impl Trait at all, so I've made a minimal example using RPIT.

r? @WaffleLapkin

@folkertdev folkertdev added the F-explicit_tail_calls `#![feature(explicit_tail_calls)]` label Nov 11, 2025
@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 Nov 11, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 11, 2025

WaffleLapkin is not on the review rotation at the moment.
They may take a while to respond.

@WaffleLapkin
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Nov 12, 2025

📌 Commit f5f91cc has been approved by WaffleLapkin

It is now in the queue for this repository.

@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 Nov 12, 2025
bors added a commit that referenced this pull request Nov 13, 2025
Rollup of 7 pull requests Successful merges: - #147701 (rustdoc: don't ignore path distance for doc aliases) - #148735 (Fix ICE caused by invalid spans for shrink_file) - #148839 (fix rtsan_nonblocking_async lint closure ICE) - #148846 (add a test for combining RPIT with explicit tail calls) - #148872 (fix: Do not ICE when missing match arm with ill-formed subty is met) - #148880 (Remove explicit install of `eslint` inside of `tidy`'s Dockerfile) - #148883 (bootstrap: dont require cmake if local-rebuild is enabled) r? `@ghost` `@rustbot` modify labels: rollup
@bors bors merged commit 1f2d7db into rust-lang:main Nov 13, 2025
11 checks passed
@rustbot rustbot added this to the 1.93.0 milestone Nov 13, 2025
rust-timer added a commit that referenced this pull request Nov 13, 2025
Rollup merge of #148846 - folkertdev:tail-call-rpit, r=WaffleLapkin add a test for combining RPIT with explicit tail calls tracking issue: #112788 fixes #139305 Combining return position impl trait (RPIT) with guaranteed tail calls does not currently work, but at least it does not ICE any more. Using RPIT probably should work, see also #144953. The snippet in the issue is not valid for a variety of reasons, and based on the assert that got triggered the ICE was just any `-> impl Trait` at all, so I've made a minimal example using RPIT. r? `@WaffleLapkin`
Sign up for free to 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-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

4 participants