Enum rustc_hir::ItemKind[][src]

pub enum ItemKind<'hir> {
Show 16 variants ExternCrate(Option<Symbol>), Use(&'hir Path<'hir>, UseKind), Static(&'hir Ty<'hir>, MutabilityBodyId), Const(&'hir Ty<'hir>, BodyId), Fn(FnSig<'hir>, Generics<'hir>, BodyId), Mod(Mod<'hir>), ForeignMod { abi: Abi, items: &'hir [ForeignItemRef<'hir>], }, GlobalAsm(&'hir InlineAsm<'hir>), 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(IsAutoUnsafetyGenerics<'hir>, GenericBounds<'hir>, &'hir [TraitItemRef]), TraitAlias(Generics<'hir>, GenericBounds<'hir>), Impl(Impl<'hir>),



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.

Use(&'hir Path<'hir>, UseKind)

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>, MutabilityBodyId)

A static item.

Const(&'hir Ty<'hir>, BodyId)

A const item.

Fn(FnSig<'hir>, Generics<'hir>, BodyId)

A function declaration.


A module.


An external module, e.g. extern { .. }.

Fields of ForeignMod

abi: Abiitems: &'hir [ForeignItemRef<'hir>]
GlobalAsm(&'hir InlineAsm<'hir>)

Module-level inline assembly (from global_asm!).

TyAlias(&'hir Ty<'hir>, Generics<'hir>)

A type alias, e.g., type Foo = Bar<u8>.


An opaque impl Trait type alias, e.g., type Foo = impl Bar;.

Enum(EnumDef<'hir>, Generics<'hir>)

An enum definition, e.g., enum Foo<A, B> {C<A>, D<B>}.

Struct(VariantData<'hir>, Generics<'hir>)

A struct definition, e.g., struct Foo<A> {x: A}.

Union(VariantData<'hir>, Generics<'hir>)

A union definition, e.g., union Foo<A, B> {x: A, y: B}.

Trait(IsAutoUnsafetyGenerics<'hir>, GenericBounds<'hir>, &'hir [TraitItemRef])

A trait definition.

TraitAlias(Generics<'hir>, GenericBounds<'hir>)

A trait alias.


An implementation, e.g., impl<A> Trait for Foo { .. }.


Trait Implementations

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

Performs the conversion.

Performs the conversion.

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.


Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 128 bytes