-
Notifications
You must be signed in to change notification settings - Fork 13.4k
rustdoc panics when resolving intra doc link #93428
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Labels
A-intra-doc-links
Area: Intra-doc links, the ability to link to items in docs by name
C-bug
Category: This is a bug.
P-critical
Critical priority
regression-from-stable-to-nightly
Performance or correctness regression from stable to nightly.
Milestone
Comments
Same On
|
7 tasks
Assigning priority as discussed in the prioritization working group. |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Jan 29, 2022
…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.
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
A-intra-doc-links
Area: Intra-doc links, the ability to link to items in docs by name
C-bug
Category: This is a bug.
P-critical
Critical priority
regression-from-stable-to-nightly
Performance or correctness regression from stable to nightly.
Uh oh!
There was an error while loading. Please reload this page.
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: