Skip to content

dedup fallback - #1

Merged
LusterSourav merged 3 commits into
mainfrom
fix-visible-parent-map-hang
Aug 4, 2026
Merged

dedup fallback#1
LusterSourav merged 3 commits into
mainfrom
fix-visible-parent-map-hang

Conversation

@LusterSourav

Copy link
Copy Markdown
Owner

Fixes rust-lang#160439. Hidden items never entered visible_parent_map, so each parent path re-enqueued its whole subtree, causing exponential rustdoc slowdowns. Regression introduced in nightly-2026-08-03 by rust-lang#159881. Hidden items are now tracked in a fallback_seen set, speeding the reproducer up ~460x (from a >60s hang to 0.13s). New tests in tests/run-make/rustdoc/visible-parent-map-hang.

Hidden items aren't added to the map, which causes each parent path to
re-enqueue the entire subtree. This led to exponential rustdoc hangs,
as noted in issue rust-lang#160439.
The rmake.rs script now builds dep.rs and runs rustdoc with a 60-second
kill watchdog, since compiletest doesn't have individual test timeouts.
This allows regressions to fail quickly instead of causing CI to hang.
This includes a nested #[doc(hidden)] fan structure (B=8, D=12) in
dep.rs, which is only reachable through hidden parents. The main.rs file
implements dep::Tr to trigger the trait path rendering that caused the
issue.
@LusterSourav LusterSourav self-assigned this Aug 4, 2026
@LusterSourav
LusterSourav merged commit 683bf0d into main Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cargo doc freezes on libc with nightly-2026-08-03

1 participant