Enum syntax::ast::ItemKind
[−]
[src]
pub enum ItemKind {
ExternCrate(Option<Name>),
Use(P<ViewPath>),
Static(P<Ty>, Mutability, P<Expr>),
Const(P<Ty>, P<Expr>),
Fn(P<FnDecl>, Unsafety, Spanned<Constness>, Abi, Generics, P<Block>),
Mod(Mod),
ForeignMod(ForeignMod),
Ty(P<Ty>, Generics),
Enum(EnumDef, Generics),
Struct(VariantData, Generics),
Union(VariantData, Generics),
Trait(Unsafety, Generics, TyParamBounds, Vec<TraitItem>),
DefaultImpl(Unsafety, TraitRef),
Impl(Unsafety, ImplPolarity, Generics, Option<TraitRef>, P<Ty>, Vec<ImplItem>),
Mac(Mac),
MacroDef(ThinTokenStream),
}rustc_private)Variants
ExternCrate(Option<Name>)rustc_private)Anextern crate item, with optional original crate name.
E.g. extern crate foo or extern crate foo_bar as foo
Use(P<ViewPath>)rustc_private)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>)rustc_private)A static item (static or pub static).
E.g. static FOO: i32 = 42; or static FOO: &'static str = "bar";
Const(P<Ty>, P<Expr>)rustc_private)A constant item (const or pub const).
E.g. const FOO: i32 = 42;
Fn(P<FnDecl>, Unsafety, Spanned<Constness>, Abi, Generics, P<Block>)rustc_private)A function declaration (fn or pub fn).
E.g. fn foo(bar: usize) -> usize { .. }
Mod(Mod)rustc_private)A module declaration (mod or pub mod).
E.g. mod foo; or mod foo { .. }
ForeignMod(ForeignMod)rustc_private)An external module (extern or pub extern).
E.g. extern {} or extern "C" {}
Ty(P<Ty>, Generics)rustc_private)A type alias (type or pub type).
E.g. type Foo = Bar<u8>;
Enum(EnumDef, Generics)rustc_private)An enum definition (enum or pub enum).
E.g. enum Foo<A, B> { C<A>, D<B> }
Struct(VariantData, Generics)rustc_private)A struct definition (struct or pub struct).
E.g. struct Foo<A> { x: A }
Union(VariantData, Generics)rustc_private)A union definition (union or pub union).
E.g. union Foo<A, B> { x: A, y: B }
Trait(Unsafety, Generics, TyParamBounds, Vec<TraitItem>)rustc_private)A Trait declaration (trait or pub trait).
E.g. trait Foo { .. } or trait Foo<T> { .. }
DefaultImpl(Unsafety, TraitRef)rustc_private)E.g. impl Trait for .. {} or impl<T> Trait<T> for .. {}
Impl(Unsafety, ImplPolarity, Generics, Option<TraitRef>, P<Ty>, Vec<ImplItem>)rustc_private)An implementation.
E.g. impl<A> Foo<A> { .. } or impl<A> Trait for Foo<A> { .. }
Mac(Mac)rustc_private)A macro invocation.
E.g. macro_rules! foo { .. } or foo!(..)
MacroDef(ThinTokenStream)rustc_private)A macro definition.
Methods
impl ItemKind[src]
fn descriptive_variant(&self) -> &str
rustc_private)Trait Implementations
impl Clone for ItemKind[src]
fn clone(&self) -> ItemKind
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl PartialEq for ItemKind[src]
fn eq(&self, __arg_0: &ItemKind) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &ItemKind) -> bool
This method tests for !=.
impl Eq for ItemKind[src]
impl Encodable for ItemKind[src]
fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl Decodable for ItemKind[src]
fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<ItemKind, __D::Error>
🔬 This is a nightly-only experimental API. (rustc_private)
deprecated in favor of rustc-serialize on crates.io
impl Hash for ItemKind[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher1.3.0
Feeds a slice of this type into the state provided.