Modules

Structs

Argument 🔒
Arguments 🔒
Attributes 🔒
The attributes on an Item, including attributes like #[derive(...)] and #[inline], as well as doc comments.
Constant 🔒
Crate 🔒
The crate currently being documented.
A portion of documentation, extracted from a #[doc] attribute.
Enum 🔒
FnDecl 🔒
Function 🔒
Generics 🔒
Impl 🔒
Import 🔒
Item 🔒
Anything with a source location and set of attributes and, optionally, a name. That is, anything that can be documented. This doesn’t correspond directly to the AST’s concept of an item; it’s a strict superset.
ItemLink 🔒
A link that has not yet been rendered.
Lifetime 🔒
Macro 🔒
Module 🔒
OpaqueTy 🔒
Path 🔒
PolyTrait 🔒
A trait reference, which may have higher ranked lifetimes.
ProcMacro 🔒
QPathData 🔒
Span 🔒
Small wrapper around rustc_span::Span that adds helper methods and enforces calling rustc_span::Span::source_callsite().
Static 🔒
Struct 🔒
Trait 🔒
TraitAlias 🔒
This struct is used to wrap additional information added by rustdoc on a trait item.
An type binding on an associated type (e.g., A = Bar in Foo<A = Bar> or A: Send + Sync in Foo<A: Send + Sync>).
Typedef 🔒
Union 🔒
This is a more limited form of the standard Struct, different in that it lacks the things most items have (name, id, parameterization). Found only as a variant in an enum.

Enums

Indicates where an external crate can be found.
FnRetTy 🔒
GenericArg 🔒
ImplKind 🔒
ImportKind 🔒
ItemId 🔒
ItemKind 🔒
A primitive (aka, builtin) type.
SelfTy 🔒
SubstParam 🔒
The type, lifetime, or constant that a private type alias’s parameter should be replaced with when expanding a use of that type alias.
Term 🔒
Type 🔒
Rustdoc’s representation of types, mostly based on the hir::Ty.
Variant 🔒
Visibility 🔒

Traits

Functions

The goal of this function is to apply the DocFragment transformation that is required when transforming into the final Markdown, which is applying the computed indent to each line in each doc fragment (a DocFragment can contain multiple lines in case of #[doc = ""]).
Collapse a collection of DocFragments into one string, handling indentation and newlines as needed.
rustc_span 🔒
Removes excess indentation on comments in order for the Markdown to be parsed correctly. This is necessary because the convention for writing documentation is to provide a space between the /// or //! marker and the doc text, but Markdown is whitespace-sensitive. For example, a block of text with four-space indentation is parsed as a code block, so if we didn’t unindent comments, these list items

Type Definitions