[−][src]Enum syntax::ast::ItemKind
Variants
ExternCrate(Option<Name>)
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(P<UseTree>)
A use declaration (use
or pub use
) item.
E.g., use foo;
, use foo::bar;
or use foo::bar as FooBar;
.
Static(P<Ty>, Mutability, P<Expr>)
A static item (static
or pub static
).
E.g., static FOO: i32 = 42;
or static FOO: &'static str = "bar";
.
Const(P<Ty>, P<Expr>)
A constant item (const
or pub const
).
E.g., const FOO: i32 = 42;
.
Fn(P<FnDecl>, FnHeader, Generics, P<Block>)
A function declaration (fn
or pub fn
).
E.g., fn foo(bar: usize) -> usize { .. }
.
Mod(Mod)
A module declaration (mod
or pub mod
).
E.g., mod foo;
or mod foo { .. }
.
ForeignMod(ForeignMod)
An external module (extern
or pub extern
).
E.g., extern {}
or extern "C" {}
.
GlobalAsm(P<GlobalAsm>)
Module-level inline assembly (from global_asm!()
).
Ty(P<Ty>, Generics)
A type alias (type
or pub type
).
E.g., type Foo = Bar<u8>;
.
Existential(GenericBounds, Generics)
An existential type declaration (existential type
).
E.g., existential type Foo: Bar + Boo;
.
Enum(EnumDef, Generics)
An enum definition (enum
or pub enum
).
E.g., enum Foo<A, B> { C<A>, D<B> }
.
Struct(VariantData, Generics)
A struct definition (struct
or pub struct
).
E.g., struct Foo<A> { x: A }
.
Union(VariantData, Generics)
A union definition (union
or pub union
).
E.g., union Foo<A, B> { x: A, y: B }
.
Trait(IsAuto, Unsafety, Generics, GenericBounds, Vec<TraitItem>)
A Trait declaration (trait
or pub trait
).
E.g., trait Foo { .. }
, trait Foo<T> { .. }
or auto trait Foo {}
.
TraitAlias(Generics, GenericBounds)
Trait alias
E.g., trait Foo = Bar + Quux;
.
Impl(Unsafety, ImplPolarity, Defaultness, Generics, Option<TraitRef>, P<Ty>, Vec<ImplItem>)
An implementation.
E.g., impl<A> Foo<A> { .. }
or impl<A> Trait for Foo<A> { .. }
.
Mac(Mac)
A macro invocation.
E.g., macro_rules! foo { .. }
or foo!(..)
.
MacroDef(MacroDef)
A macro definition.
Methods
impl ItemKind
[src]
pub fn descriptive_variant(&self) -> &str
[src]
Trait Implementations
impl Clone for ItemKind
[src]
fn clone(&self) -> ItemKind
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for ItemKind
[src]
impl Encodable for ItemKind
[src]
impl Decodable for ItemKind
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Encodable for T where
T: UseSpecializedEncodable + ?Sized,
[src]
T: UseSpecializedEncodable + ?Sized,
impl<T> Decodable for T where
T: UseSpecializedDecodable,
[src]
T: UseSpecializedDecodable,
impl<E> SpecializationError for E
[src]
impl<T> Send for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
T: ?Sized,