Expand description
Rustdoc’s HTML rendering module.
This modules contains the bulk of the logic necessary for rendering a
rustdoc clean::Crate
instance to a set of static HTML pages. This
rendering process is largely driven by the format!
syntax extension to
perform all I/O into files and streams.
The rendering process is largely driven by the Context
and Cache
structures. The cache is pre-populated by crawling the crate in question,
and then it is shared among the various rendering threads. The cache is meant
to be a fairly large structure not implementing Clone
(because it’s shared
among threads). The context, however, should be a lightweight structure. This
is cloned per-thread and contains information about what is currently being
rendered.
In order to speed up rendering (mostly because of markdown rendering), the
rendering process has been parallelized. This parallelization is only
exposed through the crate
method on the context, and then also from the
fact that the shared cache is stored in TLS (and must be accessed as such).
In addition to rendering the crate itself, this module is also responsible for creating the corresponding search index and source file renderings. These threads are not parallelized (they haven’t been a bottleneck yet), and both occur before the crate is rendered.
Modules
Structs
Enums
Constants
Functions
href
attribute (a key-value pair) for the given associated item.impl<T> Trait for &T
.