-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
rustdoc panics when resolving intra doc link #93428
Comments
Same On
|
Assigning priority as discussed in the prioritization working group. |
…oc-links-very-early, r=petrochenkov rustdoc: load the set of in-scope traits for modules with no docstring Fixes rust-lang#93428 This fix is a response to a couple of special cases related to the `module_id`, which is eventually used for trait candidates: * The module id is always set to the current crate, when checking `crate::`. Normally, the set of in-scope traits would be set in `load_links_in_attrs`, but if there are no doc comments, then that loop will never run. * the module id is set to the parent module, when resolving a module that is spelled like this: // Notice how we use an outlined doc comment here! // [`Test::my_fn`] mod something { } As with the above problem with `crate::`, we need to make sure the module gets its traits in scope resolved, even if it has no doc comments of its own.
Running
cargo +nightly doc
on the crateoff-rs
fails with a (semi-unrelated) panic.This currently also fails to build on
docs.rs
: https://docs.rs/crate/off-rs/0.1.3/builds/500166This started to occur with the latest nightly version (
rustc 1.60.0-nightly (21b4a9cfd 2022-01-27)
).Probable cause
The issue is probably related to the following doc comment line: https://github.com/michidk/off-rs/blob/6a0146d4f2cadb1e46ce8849abd0269cd97d3528/src/parser/options.rs#L7.
Specifically the intra doc link causes
rustdoc
to fail./// When these limits are exceeded during the [`parse`](`crate::parser::Parser::parse`)
When this line is replaced with the follwing (adding an anonymous lifetime) line
rustdoc
finishes successfully:/// When these limits are exceeded during the [`parse`](`crate::parser::Parser::<'_>::parse`)
Minimal viable example
The example below will also panic
[`crate:: ...`]
, with[`super:: ...`]
it will succeed.Related
Related issues:
--resource-suffix
was removed from rustc in 1.58.1 docs.rs#1630Meta
rustc --version --verbose
:Backtrace
docs.rs
error: https://docs.rs/crate/off-rs/0.1.3/builds/500166RUST_BACKTRACE=1 cargo +nightly doc
:The text was updated successfully, but these errors were encountered: