Item in rustdoc_json_types - Rust (original) (raw)

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: FxHashMap<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.

The unique identifier of this item. Can be used to find this item in various mappings.

This can be used as a key to the external_crates map of Crate to see which crate this item came from.

Some items such as impls don’t have names.

The source location of this item (absent if it came from a macro expansion or inline assembly).

By default all documented items are public, but you can tell rustdoc to output private items so this field is needed to differentiate.

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 = ""]).

This mapping resolves intra-doc links from the docstring to their IDs

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:

Other attributes may appear debug-printed. For example:

As an internal implementation detail subject to change, this debug-printing format is currently equivalent to the HIR pretty-printing of parsed attributes.

Information about the item’s deprecation, if present.

The type-specific fields describing this item.

§

§

§

§

§

§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 552 bytes