Description
Summary
Original issue: #12266
Implementation: #15359 #15605
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#rustdoc-depinfo
The -Z rustdoc-depinfo
flag leverages rustdoc’s dep-info files to determine whether documentations are required to re-generate. This can be combined with -Z checksum-freshness
to detect checksum changes rather than file mtime.
Testing instructions: #15370 (comment)
Unresolved Issues
Potential blockers:
- To generate the correct styled docs, Cargo needs to pass
--emit=toolchain-shared-resources,invocation-specific,dep-info=<PATH>
. Unsure if we're going to stabilize all the required emit types all at once.
Open design questions:
- Where should rustdoc dep-info be emitted to?
- The current implementation is under the fingerprint directory, e.g.,
target/debug/.fingerprint/serde-12d29d32b3b8b38f/doc-lib-serde.d
. This might not be a blocker because fingerprint is not a stable interface Cargo guarantees.
- The current implementation is under the fingerprint directory, e.g.,
Future Extensions
- Rustdoc should track extra theme/ CSS files as part of the rebuild detection
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status