pub struct Item {
pub id: Id,
pub crate_id: u32,
pub name: Option<String>,
pub span: Option<Span>,
pub visibility: Visibility,
pub docs: Option<String>,
pub links: HashMap<String, Id>,
pub attrs: Vec<String>,
pub deprecation: Option<Deprecation>,
pub inner: ItemEnum,
}
Expand description
Anything that can hold documentation - modules, structs, enums, functions, traits, etc.
The Item
data type holds fields that can apply to any of these,
and leaves kind-specific details (like function args or enum variants) to the inner
field.
Fields§
§id: Id
The unique identifier of this item. Can be used to find this item in various mappings.
crate_id: u32
This can be used as a key to the external_crates
map of Crate
to see which crate
this item came from.
name: Option<String>
Some items such as impls don’t have names.
span: Option<Span>
The source location of this item (absent if it came from a macro expansion or inline assembly).
visibility: Visibility
By default all documented items are public, but you can tell rustdoc to output private items so this field is needed to differentiate.
docs: Option<String>
The full markdown docstring of this item. Absent if there is no documentation at all,
Some(“”) if there is some documentation but it is empty (EG #[doc = ""]
).
links: HashMap<String, Id>
This mapping resolves intra-doc links from the docstring to their IDs
attrs: Vec<String>
Attributes on this item.
Does not include #[deprecated]
attributes: see the Self::deprecation
field instead.
Attributes appear in pretty-printed Rust form, regardless of their formatting in the original source code. For example:
#[non_exhaustive]
and#[must_use]
are represented as themselves.#[no_mangle]
and#[export_name]
are also represented as themselves.#[repr(C)]
and other reprs also appear as themselves, though potentially with a different order: e.g.repr(i8, C)
may becomerepr(C, i8)
. Multiple repr attributes on the same item may be combined into an equivalent single attr.
deprecation: Option<Deprecation>
Information about the item’s deprecation, if present.
inner: ItemEnum
The type-specific fields describing this item.