pub(crate) enum ItemKind {
Show 30 variants ExternCrateItem { src: Option<Symbol>, }, ImportItem(Import), StructItem(Struct), UnionItem(Union), EnumItem(Enum), FunctionItem(Box<Function>), ModuleItem(Module), TypedefItem(Box<Typedef>), OpaqueTyItem(OpaqueTy), StaticItem(Static), ConstantItem(Constant), TraitItem(Box<Trait>), TraitAliasItem(TraitAlias), ImplItem(Box<Impl>), TyMethodItem(Box<Function>), MethodItem(Box<Function>, Option<Defaultness>), StructFieldItem(Type), VariantItem(Variant), ForeignFunctionItem(Box<Function>), ForeignStaticItem(Static), ForeignTypeItem, MacroItem(Macro), ProcMacroItem(ProcMacro), PrimitiveItem(PrimitiveType), TyAssocConstItem(Type), AssocConstItem(TypeConstantKind), TyAssocTypeItem(Box<Generics>, Vec<GenericBound>), AssocTypeItem(Box<Typedef>, Vec<GenericBound>), StrippedItem(Box<ItemKind>), KeywordItem,
}

Variants

ExternCrateItem

Fields

src: Option<Symbol>

The crate’s name, not the name it’s imported as.

ImportItem(Import)

StructItem(Struct)

UnionItem(Union)

EnumItem(Enum)

FunctionItem(Box<Function>)

ModuleItem(Module)

TypedefItem(Box<Typedef>)

OpaqueTyItem(OpaqueTy)

StaticItem(Static)

ConstantItem(Constant)

TraitItem(Box<Trait>)

TraitAliasItem(TraitAlias)

ImplItem(Box<Impl>)

TyMethodItem(Box<Function>)

A required method in a trait declaration meaning it’s only a function signature.

MethodItem(Box<Function>, Option<Defaultness>)

A method in a trait impl or a provided method in a trait declaration.

Compared to TyMethodItem, it also contains a method body.

StructFieldItem(Type)

VariantItem(Variant)

ForeignFunctionItem(Box<Function>)

fns from an extern block

ForeignStaticItem(Static)

statics from an extern block

ForeignTypeItem

types from an extern block

MacroItem(Macro)

ProcMacroItem(ProcMacro)

PrimitiveItem(PrimitiveType)

TyAssocConstItem(Type)

A required associated constant in a trait declaration.

AssocConstItem(TypeConstantKind)

An associated associated constant in a trait impl or a provided one in a trait declaration.

TyAssocTypeItem(Box<Generics>, Vec<GenericBound>)

A required associated type in a trait declaration.

The bounds may be non-empty if there is a where clause.

AssocTypeItem(Box<Typedef>, Vec<GenericBound>)

An associated type in a trait impl or a provided one in a trait declaration.

StrippedItem(Box<ItemKind>)

An item that has been stripped by a rustdoc pass

KeywordItem

Implementations

Some items contain others such as structs (for their fields) and Enums (for their variants). This method returns those contained items.

Returns true if this item does not appear inside an impl block.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

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: 96 bytes

Size for each variant:

  • ExternCrateItem: 7 bytes
  • ImportItem: 71 bytes
  • StructItem: 87 bytes
  • UnionItem: 79 bytes
  • EnumItem: 79 bytes
  • FunctionItem: 15 bytes
  • ModuleItem: 39 bytes
  • TypedefItem: 15 bytes
  • OpaqueTyItem: 79 bytes
  • StaticItem: 79 bytes
  • ConstantItem: 95 bytes
  • TraitItem: 15 bytes
  • TraitAliasItem: 79 bytes
  • ImplItem: 15 bytes
  • TyMethodItem: 15 bytes
  • MethodItem: 15 bytes
  • StructFieldItem: 63 bytes
  • VariantItem: 39 bytes
  • ForeignFunctionItem: 15 bytes
  • ForeignStaticItem: 79 bytes
  • ForeignTypeItem: 0 bytes
  • MacroItem: 31 bytes
  • ProcMacroItem: 39 bytes
  • PrimitiveItem: 1 byte
  • TyAssocConstItem: 63 bytes
  • AssocConstItem: 95 bytes
  • TyAssocTypeItem: 39 bytes
  • AssocTypeItem: 39 bytes
  • StrippedItem: 15 bytes
  • KeywordItem: 0 bytes