pavexc/rustdoc/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//! This module encapsulates the logic required to compute, retrieve and analyse the
//! JSON crate documentation generated by `rustdoc`.
//!
//! [`CrateCollection`] is the key entrypoint.
use guppy::PackageId;
use once_cell::sync::Lazy;

pub use compute::CannotGetCrateData;
pub use queries::{Crate, CrateCollection, GlobalItemId, ResolvedItem, RustdocKindExt};

mod compute;
mod package_id_spec;
mod queries;
mod utils;
mod version_matcher;

pub const STD_PACKAGE_ID_REPR: &str = "std";
pub static STD_PACKAGE_ID: Lazy<PackageId> = Lazy::new(|| PackageId::new(STD_PACKAGE_ID_REPR));

pub const CORE_PACKAGE_ID_REPR: &str = "core";
pub static CORE_PACKAGE_ID: Lazy<PackageId> = Lazy::new(|| PackageId::new(CORE_PACKAGE_ID_REPR));

pub const ALLOC_PACKAGE_ID_REPR: &str = "alloc";
pub static ALLOC_PACKAGE_ID: Lazy<PackageId> = Lazy::new(|| PackageId::new(ALLOC_PACKAGE_ID_REPR));

pub const TOOLCHAIN_CRATES: [&str; 3] = [
    STD_PACKAGE_ID_REPR,
    CORE_PACKAGE_ID_REPR,
    ALLOC_PACKAGE_ID_REPR,
];