Uh oh!
There was an error while loading. Please reload this page.
rustdoc: Fix auto trait normalization env - #159194
Merged
rust-bors[bot] merged 1 commit intoJul 15, 2026
Merged
Conversation
rustbot
commented
Jul 12, 2026
Collaborator
rustbot has assigned @lolbinarycat. Use Why was this reviewer chosen?The reviewer was selected based on:
|
Dnreikronos
marked this pull request as draft
July 12, 2026 20:22
Dnreikronos
marked this pull request as ready for review
July 13, 2026 11:41
lolbinarycat
commented
Jul 14, 2026
Contributor
Thanks for the clear writeup, clean fix, and regression test! @bors r+ rollup |
Contributor
rust-borsBot
pushed a commit
that referenced
this pull request
Jul 15, 2026
Rollup of 15 pull requests Successful merges: - #159311 (Add 1.97.1 release notes) - #156220 (Implement `VecDeque::truncate_to_range`) - #158608 (Implement `#[diagnostic::opaque]` attribute to hide backtraces of macros.) - #159168 (Fix static_mut_refs lint check logic) - #159242 (resolve: Inherit eager invocation parents) - #159256 (Account for async closures when pointing at lifetime in return type) - #159310 (cleanup: upstream dropped AMX-TF32) - #158348 (Add documentation for the `inline` attribute) - #159181 (add rustc_no_writable to mem::forget and structs it uses) - #159191 (Mark `PrivateItems` with `std_internals` unstable feature.) - #159194 (rustdoc: Fix auto trait normalization env) - #159196 (OnceCell: Improve wording in module docs) - #159289 (Fix Zulip backport command suggestion) - #159294 (renovate: don't update PRs in the merge queue) - #159305 (std: clarify available_parallelism docs for Windows 11 processor groups)
Uh oh!
There was an error while loading. Please reload this page.
rust-timer added a commit
that referenced
this pull request
Jul 15, 2026
Rollup merge of #159194 - Dnreikronos:rustdoc/auto_trait_param_env, r=lolbinarycat rustdoc: Fix auto trait normalization env Fixes#159065 rustdoc ICEs on #[doc(inline)] pub use std as other; with -Znext-solver=globally -Znormalize-docs. The synthetic auto-trait code builds a ParamEnv for the generated where-clauses, but nested type normalization still reads cx.param_env (via `clean_predicate` -> `clean_middle_ty` -> `normalize`). In the inline std case that env can be empty, so the solver later idk's the type of the placeholder const. Use that synthetic auto-trait ParamEnv while cleaning the generated where-clauses. imo this is the least weird place to do it: the clauses came from that env, so their normalization should use it too. btw, the added rustdoc-html test is just the reduced issue case, fyi.
pullBot
pushed a commit
to LeeeeeeM/miri
that referenced
this pull request
Jul 16, 2026
Rollup of 15 pull requests Successful merges: - rust-lang/rust#159311 (Add 1.97.1 release notes) - rust-lang/rust#156220 (Implement `VecDeque::truncate_to_range`) - rust-lang/rust#158608 (Implement `#[diagnostic::opaque]` attribute to hide backtraces of macros.) - rust-lang/rust#159168 (Fix static_mut_refs lint check logic) - rust-lang/rust#159242 (resolve: Inherit eager invocation parents) - rust-lang/rust#159256 (Account for async closures when pointing at lifetime in return type) - rust-lang/rust#159310 (cleanup: upstream dropped AMX-TF32) - rust-lang/rust#158348 (Add documentation for the `inline` attribute) - rust-lang/rust#159181 (add rustc_no_writable to mem::forget and structs it uses) - rust-lang/rust#159191 (Mark `PrivateItems` with `std_internals` unstable feature.) - rust-lang/rust#159194 (rustdoc: Fix auto trait normalization env) - rust-lang/rust#159196 (OnceCell: Improve wording in module docs) - rust-lang/rust#159289 (Fix Zulip backport command suggestion) - rust-lang/rust#159294 (renovate: don't update PRs in the merge queue) - rust-lang/rust#159305 (std: clarify available_parallelism docs for Windows 11 processor groups)
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#159065
rustdoc ICEs on #[doc(inline)] pub use std as other; with -Znext-solver=globally -Znormalize-docs. The synthetic auto-trait code builds a ParamEnv for the generated where-clauses, but nested type normalization still reads cx.param_env (via
clean_predicate->clean_middle_ty->normalize). In the inline std case that env can be empty, so the solver later idk's the type of the placeholder const.Use that synthetic auto-trait ParamEnv while cleaning the generated where-clauses. imo this is the least weird place to do it: the clauses came from that env, so their normalization should use it too. btw, the added rustdoc-html test is just the reduced issue case, fyi.