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: IdThe unique identifier of this item. Can be used to find this item in various mappings.
crate_id: u32This 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: VisibilityBy 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.
Some 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.
Other attributes may appear debug-printed. For example:
#[inline]becomes something similar to#[attr="Inline(Hint)"].
As an internal implementation detail subject to change, this debug-printing format is currently equivalent to the HIR pretty-printing of parsed attributes.
deprecation: Option<Deprecation>Information about the item’s deprecation, if present.
inner: ItemEnumThe type-specific fields describing this item.