You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)C-bugCategory: This is a bug.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
The text was updated successfully, but these errors were encountered:
jyn514
added
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
A-macros
Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)
C-bug
Category: This is a bug.
labels
Dec 27, 2020
This seems to stem from the way macro builtins and AST-cleaning work:
Built-in macros are "#[lang]-declared" with a "dummy" macro definition, so they are seen, AST-wise / within rustdoc::clean, as the latter: as a TypeKind::Macro
within a downstream crate that refers to it without inlining its definition, Res's DefKind has "correctly" resolved such macros to their actual nature (e.g., Derive).
FWIW, the "downstream crate that refers to a lang derive macro with a macro definition without inlining it" doesn't seem to happen in practice, hence it not being spotted. So we live in a world of macro.Copy.html and the like, which seems to be the bug, albeit a consistent one 😄
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)C-bugCategory: This is a bug.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
I tried this code:
I expected to see this happen: Rustdoc links to https://doc.rust-lang.org/nightly/core/macro.Copy.html.
Instead, this happened: Rustdoc links to https://doc.rust-lang.org/nightly/core/marker/derive.Copy.html.
This is wrong in two ways:
macro.Item.html
andderive.Item.html
inconsistentlymarker
submodule in the re-export crate but not when documentingcore
(pub macro
defined in submodule is shown at the wrong path #74355).This issue is only for tracking 1.
Thanks @danielhenrymantilla for the bug report!
Meta
rustdoc --version
: rustdoc 1.50.0-nightly (0edce6f 2020-12-24)The text was updated successfully, but these errors were encountered: