Struct rustdoc::html::render::Cache[src]
pub struct Cache {
pub typarams: HashMap<DefId, String>,
pub impls: HashMap<DefId, Vec<(Impl, Option<String>)>>,
pub paths: HashMap<DefId, (Vec<String>, ItemType)>,
pub external_paths: HashMap<DefId, Vec<String>>,
pub traits: HashMap<DefId, Trait>,
pub implementors: HashMap<DefId, Vec<Implementor>>,
pub extern_locations: HashMap<CrateNum, ExternalLocation>,
pub primitive_locations: HashMap<Primitive, CrateNum>,
pub inlined: HashSet<DefId>,
// some fields omitted
}This cache is used to store information about the clean::Crate being
rendered in order to provide more useful documentation. This contains
information like all implementors of a trait, all traits a type implements,
documentation for all known traits, etc.
This structure purposefully does not implement Clone because it's intended
to be a fairly large and expensive structure to clone. Instead this adheres
to Send so it may be stored in a Arc instance and shared among the various
rendering tasks.
Fields
typarams | Mapping of typaram ids to the name of the type parameter. This is used when pretty-printing a type (so pretty printing doesn't have to painfully maintain a context like this) |
impls | Maps a type id to all known implementations for that type. This is only
recognized for intra-crate The values of the map are a list of implementations and documentation found on that implementation. |
paths | Maintains a mapping of local crate node ids to the fully qualified name
and "short type description" of that node. This is used when generating
URLs when a type is being linked to. External paths are not located in
this map because the |
external_paths | Similar to |
traits | This map contains information about all known traits of this crate. Implementations of a crate should inherit the documentation of the parent trait if no extra documentation is specified, and default methods should show up in documentation about trait implementations. |
implementors | When rendering traits, it's often useful to be able to list all implementors of the trait, and this mapping is exactly, that: a mapping of trait ids to the list of known implementors of the trait |
extern_locations | Cache of where external crate documentation can be found. |
primitive_locations | Cache of where documentation for primitives can be found. |
inlined | Set of definitions which have been inlined from external crates. |