Enum rustc_hir::ItemKind [−][src]
pub enum ItemKind<'hir> {
Show variants
ExternCrate(Option<Symbol>),
Use(&'hir Path<'hir>, UseKind),
Static(&'hir Ty<'hir>, Mutability, BodyId),
Const(&'hir Ty<'hir>, BodyId),
Fn(FnSig<'hir>, Generics<'hir>, BodyId),
Mod(Mod<'hir>),
ForeignMod {
abi: Abi,
items: &'hir [ForeignItemRef<'hir>],
},
GlobalAsm(&'hir GlobalAsm),
TyAlias(&'hir Ty<'hir>, Generics<'hir>),
OpaqueTy(OpaqueTy<'hir>),
Enum(EnumDef<'hir>, Generics<'hir>),
Struct(VariantData<'hir>, Generics<'hir>),
Union(VariantData<'hir>, Generics<'hir>),
Trait(IsAuto, Unsafety, Generics<'hir>, GenericBounds<'hir>, &'hir [TraitItemRef]),
TraitAlias(Generics<'hir>, GenericBounds<'hir>),
Impl(Impl<'hir>),
}Variants
Expand description
An extern crate item, with optional original crate name if the crate was renamed.
E.g., extern crate foo or extern crate foo_bar as foo.
Expand description
use foo::bar::*; or use foo::bar::baz as quux;
or just
use foo::bar::baz; (with as baz implicitly on the right).
Static(&'hir Ty<'hir>, Mutability, BodyId)Expand description
A static item.
Expand description
A const item.
Expand description
A function declaration.
Mod(Mod<'hir>)Expand description
A module.
Expand description
An external module, e.g. extern { .. }.
Show fields
Fields of ForeignMod
abi: Abiitems: &'hir [ForeignItemRef<'hir>]GlobalAsm(&'hir GlobalAsm)Expand description
Module-level inline assembly (from global_asm!).
Expand description
A type alias, e.g., type Foo = Bar<u8>.
OpaqueTy(OpaqueTy<'hir>)Expand description
An opaque impl Trait type alias, e.g., type Foo = impl Bar;.
Expand description
An enum definition, e.g., enum Foo<A, B> {C<A>, D<B>}.
Struct(VariantData<'hir>, Generics<'hir>)Expand description
A struct definition, e.g., struct Foo<A> {x: A}.
Union(VariantData<'hir>, Generics<'hir>)Expand description
A union definition, e.g., union Foo<A, B> {x: A, y: B}.
Trait(IsAuto, Unsafety, Generics<'hir>, GenericBounds<'hir>, &'hir [TraitItemRef])Expand description
A trait definition.
TraitAlias(Generics<'hir>, GenericBounds<'hir>)Expand description
A trait alias.
Impl(Impl<'hir>)Expand description
An implementation, e.g., impl<A> Trait for Foo { .. }.
Implementations
Trait Implementations
impl<'hir, __CTX> HashStable<__CTX> for ItemKind<'hir> where
__CTX: HashStableContext, [src]
impl<'hir, __CTX> HashStable<__CTX> for ItemKind<'hir> where
__CTX: HashStableContext, [src]