Expand description
Compute, cache, index, and query rustdoc JSON documentation for crates
in a project’s dependency graph.
The pipeline:
- Compute (
compute::compute_crate_docs): invokecargo rustdocto generate JSON docs. - Cache (
cache::RustdocGlobalFsCache): persist raw docs and secondary indexes in a SQLite database at{cache_dir}/{fingerprint}.db. - Index (
indexing): build secondary indexes — import paths, item lookups, and external re-export tracking. - Query (
queries::Crate,CrateCollection): look up items by path, resolve cross-crate references, and retrieve canonical import paths.
Modules§
- cache
- SQLite-based caching for rustdoc JSON documentation.
- compute
- Orchestrate
cargo rustdocinvocations to generate JSON documentation. - crate_
data - Core rustdoc data types.
- indexing
- Build secondary indexes from raw
rustdocJSON output. - queries
- Query layer for looking up items across crates.
Structs§
- Crate
Collection - The main entrypoint for accessing the documentation of the crates
in a specific
PackageGraph. - Global
Item Id - An identifier that unequivocally points to a type within a crate collection.
- Unknown
Item Path - Error type representing a path that could not be found in the rustdoc index.
Constants§
- ALLOC_
PACKAGE_ ID_ REPR - Alloc crate package ID representation.
- CORE_
PACKAGE_ ID_ REPR - Core crate package ID representation.
- CRATE_
VERSION - Crate version - used as part of cache fingerprint.
- STD_
PACKAGE_ ID_ REPR - Standard library crate package ID representation.
- TOOLCHAIN_
CRATES - The set of toolchain crates that are bundled with Rust.