Skip to content

Avoid synthetic auto-trait ICE with next solver in rustdoc - #156523

Closed
TaKO8Ki wants to merge 1 commit into
rust-lang:mainfrom
TaKO8Ki:rustdoc-skip-auto-traits-next-solverC
Closed

Avoid synthetic auto-trait ICE with next solver in rustdoc#156523
TaKO8Ki wants to merge 1 commit into
rust-lang:mainfrom
TaKO8Ki:rustdoc-skip-auto-traits-next-solverC

Conversation

@TaKO8Ki

@TaKO8Ki TaKO8Ki commented May 13, 2026

Copy link
Copy Markdown
Member

Fixes #156487

AutoTraitFinder still uses old-solver-only selection APIs. When rustdoc runs with -Znext-solver=globally, synthetic auto-trait impl generation reaches that path with the new solver enabled and ICEs in trait selection.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels May 13, 2026
@rustbot

rustbot commented May 13, 2026

Copy link
Copy Markdown
Collaborator

r? @camelid

rustbot has assigned @camelid.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: rustdoc
  • rustdoc expanded to 9 candidates
  • Random selection from GuillaumeGomez, camelid, fmease, lolbinarycat, notriddle

@camelid camelid 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.

Could you explain a bit more about the purpose of this PR? It seems like it just turns a rustdoc ICE into silently producing incorrect results with -Znext-solver, which doesn't seem good to me. Is it to test the other parts of rustdoc with -Znext-solver? Apologies if I'm missing some context.

View changes since this review

@TaKO8Ki

TaKO8Ki commented May 13, 2026

Copy link
Copy Markdown
Member Author

@camelid

Sorry, I opened this PR while I was still debugging and before I had completed the changes. I think it is better for rustdoc to return a normal error with fatal as an example for now, e.g.

rustdoc does not generate auto-trait impls for display with -Znext-solver=globally

rather than causing an ICE.

What do you think?

@TaKO8Ki
TaKO8Ki force-pushed the rustdoc-skip-auto-traits-next-solverC branch from 3e6dd0e to 0580113 Compare May 13, 2026 04:44
@TaKO8Ki TaKO8Ki changed the title Avoid synthetic auto-trait ICE with next solver in rustdoc Reject synthetic auto-trait ICE with next solver in rustdoc May 13, 2026
@TaKO8Ki TaKO8Ki changed the title Reject synthetic auto-trait ICE with next solver in rustdoc Avoid synthetic auto-trait ICE with next solver in rustdoc May 13, 2026
@camelid

camelid commented May 21, 2026

Copy link
Copy Markdown
Member

I don't think we want to just get rid of this ICE or turn it into an error since it's just due to missing code in rustdoc. I.e., we need to just add code that uses the new solver. Please let me know if I'm misunderstanding. Closing in favor of #149019.

@camelid camelid closed this May 21, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 21, 2026
@TaKO8Ki
TaKO8Ki deleted the rustdoc-skip-auto-traits-next-solverC branch June 4, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ICE]: rustdoc: next solver

3 participants