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.
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: FxHashMap<String, Id>
This mapping resolves intra-doc links from the docstring to their IDs
attrs: Vec<String>
Stringified versions of the attributes on this item (e.g. "#[inline]"
)
deprecation: Option<Deprecation>
Information about the item’s deprecation, if present.
inner: ItemEnum
The type-specific fields describing this item.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Item
impl<'de> Deserialize<'de> for Item
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Item
impl StructuralPartialEq for Item
Auto Trait Implementations§
impl Freeze for Item
impl RefUnwindSafe for Item
impl Send for Item
impl Sync for Item
impl Unpin for Item
impl UnwindSafe for Item
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Layout§
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: 640 bytes