pub(crate) enum ItemKind {
Show 28 variants
ExternCrateItem {
src: Option<Symbol>,
},
ImportItem(Import),
StructItem(Struct),
UnionItem(Union),
EnumItem(Enum),
FunctionItem(Function),
ModuleItem(Module),
TypedefItem(Typedef, bool),
OpaqueTyItem(OpaqueTy),
StaticItem(Static),
ConstantItem(Constant),
TraitItem(Trait),
TraitAliasItem(TraitAlias),
ImplItem(Impl),
TyMethodItem(Function),
MethodItem(Function, Option<Defaultness>),
StructFieldItem(Type),
VariantItem(Variant),
ForeignFunctionItem(Function),
ForeignStaticItem(Static),
ForeignTypeItem,
MacroItem(Macro),
ProcMacroItem(ProcMacro),
PrimitiveItem(PrimitiveType),
AssocConstItem(Type, Option<ConstantKind>),
AssocTypeItem(Vec<GenericBound>, Option<Type>),
StrippedItem(Box<ItemKind>),
KeywordItem(Symbol),
}Variants
ExternCrateItem
ImportItem(Import)
StructItem(Struct)
UnionItem(Union)
EnumItem(Enum)
FunctionItem(Function)
ModuleItem(Module)
TypedefItem(Typedef, bool)
OpaqueTyItem(OpaqueTy)
StaticItem(Static)
ConstantItem(Constant)
TraitItem(Trait)
TraitAliasItem(TraitAlias)
ImplItem(Impl)
TyMethodItem(Function)
A method signature only. Used for required methods in traits (ie, non-default-methods).
MethodItem(Function, Option<Defaultness>)
A method with a body.
StructFieldItem(Type)
VariantItem(Variant)
ForeignFunctionItem(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)
AssocConstItem(Type, Option<ConstantKind>)
AssocTypeItem(Vec<GenericBound>, Option<Type>)
An associated item in a trait or trait impl.
The bounds may be non-empty if there is a where clause.
The Option<Type> is the default concrete type (e.g. trait Trait { type Target = usize; })
StrippedItem(Box<ItemKind>)
An item that has been stripped by a rustdoc pass
KeywordItem(Symbol)
Implementations
Some items contain others such as structs (for their fields) and Enums (for their variants). This method returns those contained items.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ItemKind
impl !UnwindSafe for ItemKind
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
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: 224 bytes
Size for each variant:
ExternCrateItem: 7 bytesImportItem: 71 bytesStructItem: 87 bytesUnionItem: 87 bytesEnumItem: 87 bytesFunctionItem: 167 bytesModuleItem: 39 bytesTypedefItem: 199 bytesOpaqueTyItem: 79 bytesStaticItem: 95 bytesConstantItem: 111 bytesTraitItem: 111 bytesTraitAliasItem: 79 bytesImplItem: 223 bytesTyMethodItem: 167 bytesMethodItem: 167 bytesStructFieldItem: 79 bytesVariantItem: 47 bytesForeignFunctionItem: 167 bytesForeignStaticItem: 95 bytesForeignTypeItem: 0 bytesMacroItem: 31 bytesProcMacroItem: 39 bytesPrimitiveItem: 1 byteAssocConstItem: 111 bytesAssocTypeItem: 103 bytesStrippedItem: 15 bytesKeywordItem: 7 bytes