-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stable Rustdoc contains broken links (to compiler internal crates) #43701
Comments
I suspect that this may be due to an order change in how rustdoc builds things, or possibly a missing conditional around something. Unless something has landed into rustdoc itself recently that could cause this? |
rustdoc: Don't add external impls to implementors js Otherwise impls from not documented crates appear. Fixes #43701
Looks like #43736 didn't fully solve this. There are some traits and types that are showing up without being in the implementors js file. For example, And several types are showing up as implementors of While |
|
I have an open PR #44026 to address this, but i'm waiting for some confirmation from the dev-tools team to make sure i can merge it. |
hide internal types/traits from std docs via new #[doc(masked)] attribute Fixes #43701 (hopefully for good this time) This PR introduces a new parameter to the `#[doc]` attribute that rustdoc looks for on `extern crate` statements. When it sees `#[doc(masked)]` on such a statement, it hides traits and types from that crate from appearing in either the "Trait Implementations" section of many type pages, or the "Implementors" section of trait pages. This is then applied to the `libc`/`rand`/`compiler_builtins` imports in libstd to prevent those crates from creating broken links in the std docs. Like in #43348, this also introduces a feature gate, `doc_masked`, that controls the use of this parameter. To view the std docs generated with this change, head to https://tonberry.quietmisdreavus.net/std-43701/std/index.html.
The nightly rustdoc for
Deref
contains multiple links under Implementors which do not work.https://doc.rust-lang.org/nightly/std/ops/trait.Deref.html
for example
InternedString, RcSlice<T>, ThinVec<T>, P<T>, ...
Those links seem to come from internal crates like
rustc_data_structures, rustc_errors, syntax, syntax_pos
The problem does not appear for the stable documentation.
https://doc.rust-lang.org/stable/std/ops/trait.Deref.html
The text was updated successfully, but these errors were encountered: