Enum rustc_ap_rustc_ast::ast::ItemKind [−][src]
pub enum ItemKind {}Show variants
ExternCrate(Option<Symbol>), Use(UseTree), Static(P<Ty>, Mutability, Option<P<Expr>>), Const(Defaultness, P<Ty>, Option<P<Expr>>), Fn(Box<FnKind>), Mod(Unsafe, ModKind), ForeignMod(ForeignMod), GlobalAsm(InlineAsm), TyAlias(Box<TyAliasKind>), Enum(EnumDef, Generics), Struct(VariantData, Generics), Union(VariantData, Generics), Trait(Box<TraitKind>), TraitAlias(Generics, GenericBounds), Impl(Box<ImplKind>), MacCall(MacCall), MacroDef(MacroDef),
Variants
An extern crate
item, with the optional original crate name if the crate was renamed.
E.g., extern crate foo
or extern crate foo_bar as foo
.
Use(UseTree)
A use declaration item (use
).
E.g., use foo;
, use foo::bar;
or use foo::bar as FooBar;
.
A static item (static
).
E.g., static FOO: i32 = 42;
or static FOO: &'static str = "bar";
.
A constant item (const
).
E.g., const FOO: i32 = 42;
.
A function declaration (fn
).
E.g., fn foo(bar: usize) -> usize { .. }
.
A module declaration (mod
).
E.g., mod foo;
or mod foo { .. }
.
unsafe
keyword on modules is accepted syntactically for macro DSLs, but not
semantically by Rust.
ForeignMod(ForeignMod)
An external module (extern
).
E.g., extern {}
or extern "C" {}
.
GlobalAsm(InlineAsm)
Module-level inline assembly (from global_asm!()
).
TyAlias(Box<TyAliasKind>)
A type alias (type
).
E.g., type Foo = Bar<u8>;
.
An enum definition (enum
).
E.g., enum Foo<A, B> { C<A>, D<B> }
.
Struct(VariantData, Generics)
A struct definition (struct
).
E.g., struct Foo<A> { x: A }
.
Union(VariantData, Generics)
A union definition (union
).
E.g., union Foo<A, B> { x: A, y: B }
.
A trait declaration (trait
).
E.g., trait Foo { .. }
, trait Foo<T> { .. }
or auto trait Foo {}
.
TraitAlias(Generics, GenericBounds)
Trait alias
E.g., trait Foo = Bar + Quux;
.
An implementation.
E.g., impl<A> Foo<A> { .. }
or impl<A> Trait for Foo<A> { .. }
.
MacCall(MacCall)
A macro invocation.
E.g., foo!(..)
.
MacroDef(MacroDef)
A macro definition.
Implementations
Trait Implementations
impl From<AssocItemKind> for ItemKind
[src]
impl From<AssocItemKind> for ItemKind
[src]fn from(assoc_item_kind: AssocItemKind) -> ItemKind
[src]
fn from(assoc_item_kind: AssocItemKind) -> ItemKind
[src]Performs the conversion.
impl From<ForeignItemKind> for ItemKind
[src]
impl From<ForeignItemKind> for ItemKind
[src]fn from(foreign_item_kind: ForeignItemKind) -> ItemKind
[src]
fn from(foreign_item_kind: ForeignItemKind) -> ItemKind
[src]Performs the conversion.
impl TryFrom<ItemKind> for AssocItemKind
[src]
impl TryFrom<ItemKind> for AssocItemKind
[src]Auto Trait Implementations
impl !RefUnwindSafe for ItemKind
impl !Send for ItemKind
impl !Sync for ItemKind
impl Unpin for ItemKind
impl !UnwindSafe for ItemKind
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<'a, T> Captures<'a> for T where
T: ?Sized,
[src]
T: ?Sized,