Repository navigation
rustdoc: Trait implementations aren't listed in generated docs under some circumstances #36922
Description
Activity
@alexcrichton Ugh, the way
rustdocscans a crate is dubious at best. I've been having to patch uprustdocfor various typesystem/metadata changes, and it's really sad how items from extern crates are second-class, but at the same time you have bugs like these because the local crate visit is simplistic.What's needed is a
rustdocrewrite that does as little as possible, working mostly with non-syntactical information and recovering the minimum required - relying too much on syntax can leak confusing context.
And it really shouldn't have two ASTs of its own. I know @cmr was frustrated withlibsyntaxbutrustdocis barely maintainable right now.- addedT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.
on Oct 3, 2016 @eddyb I think rustdoc's slogan is "dubious at best"
Reacted by Scott Olson, Jimmy Cuadra, emberian, Adam Perry, Lukas Kalbertodt, QuietMisdreavus, Felix S Klock II and Mazdak FarrokhzadThis bug is particularly confusing for crates that use Serde. Right now auto-derived implementations of Serialize/Deserialize don't show up in rustdoc.
- addedT-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.Relevant to the dev-tools subteam, which will review and decide on the PR/issue.and removed
on May 18, 2017 Whew! This is super confusing!
I've opened #53162 to fix this.
Reacted by Jake Goulding- added a commit that references this issue
on Sep 7, 2018
Serde's
DeserializeandSerializetraits don't show up in the "Trait Implementations" section for types that use custom derive through Macros 1.1 or through Syntex. Alex Crichton also notes that rustdoc does not displayCopyin the "Trait Implementations" section with the following code:I've only tested this on nightly Rust.