pub enum ItemEnum {
Show 21 variants
Module(Module),
ExternCrate {
name: String,
rename: Option<String>,
},
Use(Use),
Union(Union),
Struct(Struct),
StructField(Type),
Enum(Enum),
Variant(Variant),
Function(Function),
Trait(Trait),
TraitAlias(TraitAlias),
Impl(Impl),
TypeAlias(TypeAlias),
Constant {
type_: Type,
const_: Constant,
},
Static(Static),
ExternType,
Macro(String),
ProcMacro(ProcMacro),
Primitive(Primitive),
AssocConst {
type_: Type,
value: Option<String>,
},
AssocType {
generics: Generics,
bounds: Vec<GenericBound>,
type_: Option<Type>,
},
}
Expand description
Specific fields of an item.
Part of Item
.
Variants§
Module(Module)
A module declaration, e.g. mod foo;
or mod foo {}
ExternCrate
A crate imported via the extern crate
syntax.
Fields
Use(Use)
An import of 1 or more items into scope, using the use
keyword.
Union(Union)
A union
declaration.
Struct(Struct)
A struct
declaration.
StructField(Type)
A field of a struct.
Enum(Enum)
An enum
declaration.
Variant(Variant)
A variant of a enum.
Function(Function)
A function declaration (including methods and other associated functions)
Trait(Trait)
A trait
declaration.
TraitAlias(TraitAlias)
A trait alias declaration, e.g. trait Int = Add + Sub + Mul + Div;
Impl(Impl)
An impl
block.
TypeAlias(TypeAlias)
A type alias declaration, e.g. type Pig = std::borrow::Cow<'static, str>;
Constant
The declaration of a constant, e.g. const GREETING: &str = "Hi :3";
Static(Static)
A declaration of a static
.
ExternType
type
s from an extern
block.
Macro(String)
A macro_rules! declarative macro. Contains a single string with the source representation of the macro with the patterns stripped.
ProcMacro(ProcMacro)
A procedural macro.
Primitive(Primitive)
A primitive type, e.g. u32
.
Item
s of this kind only come from the core library.
AssocConst
An associated constant of a trait or a type.
Fields
value: Option<String>
Inside a trait declaration, this is the default value for the associated constant,
if provided.
Inside an impl
block, this is the value assigned to the associated constant,
and will always be present.
The representation is implementation-defined and not guaranteed to be representative of either the resulting value or of the source code.
const X: usize = 640 * 1024;
// ^^^^^^^^^^
AssocType
An associated type of a trait or a type.
Fields
bounds: Vec<GenericBound>
The bounds for this associated type. e.g.
trait IntoIterator {
type Item;
type IntoIter: Iterator<Item = Self::Item>;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
}