Module syntax::ast [−][src]
Re-exports
pub use self::TyParamBound::*; |
pub use self::UnsafeSource::*; |
pub use self::PathParameters::*; |
pub use util::parser::ExprPrecedence; |
Structs
AngleBracketedParameterData |
A path like |
AnonConst |
A constant (expression) that's not an item or associated item,
but needs its own |
Arg |
An argument in a function header. |
Arm |
An arm of a 'match'. |
AttrId | |
Attribute |
Meta-data associated with an item Doc-comments are promoted to attributes that have is_sugared_doc = true |
BareFnTy | |
Block |
A Block ( |
Crate | |
EnumDef | |
Expr |
An expression |
Field | |
FieldPat |
A single field in a struct pattern |
FnDecl |
Header (not the body) of a function declaration. |
ForeignItem | |
ForeignMod |
Foreign module declaration. |
Generics |
Represents lifetime, type and const parameters attached to a declaration of a function, enum, trait, etc. |
GlobalAsm |
Global inline assembly |
Ident | |
ImplItem | |
InlineAsm |
Inline assembly. |
InlineAsmOutput |
Inline assembly. |
Item |
An item |
Label | |
Lifetime | |
LifetimeDef |
A lifetime definition, e.g. |
Local |
Local represents a |
Mac_ |
Represents a macro invocation. The Path indicates which macro is being invoked, and the vector of token-trees contains the source of the macro invocation. |
MacroDef | |
MetaItem |
A spanned compile-time attribute item. |
MethodSig |
Represents a method's signature in a trait declaration, or in an implementation. |
Mod |
Module declaration. |
MutTy | |
Name |
A symbol is an interned or gensymed string. |
NodeId | |
ParenthesizedParameterData |
A path like |
Pat | |
Path |
A "Path" is essentially Rust's notion of a name. |
PathSegment |
A segment of a path: an identifier, an optional lifetime, and a set of types. |
PolyTraitRef | |
QSelf |
The explicit Self type in a "qualified path". The actual
path, including the trait and the associated item, is stored
separately. |
Stmt |
A statement |
StructField |
Field of a struct. |
ThinVec |
A vector type optimized for cases where this size is usually 0 (c.f. |
TraitItem |
Represents an item declaration within a trait declaration, possibly including a default implementation. A trait item is either required (meaning it doesn't have an implementation, just a signature) or provided (meaning it has a default implementation). |
TraitRef |
TraitRef's appear in impls. |
Ty | |
TyParam | |
TypeBinding | |
UseTree |
A tree of paths sharing common prefixes.
Used in |
Variant_ | |
WhereBoundPredicate |
A type bound. |
WhereClause |
A |
WhereEqPredicate |
An equality predicate (unsupported). |
WhereRegionPredicate |
A lifetime predicate. |
Enums
AsmDialect |
Inline assembly dialect. |
AttrStyle |
Distinguishes between Attributes that decorate items and Attributes that are contained as statements within items. These two cases need to be distinguished for pretty-printing. |
BinOpKind | |
BindingMode | |
BlockCheckMode | |
CaptureBy |
A capture clause |
Constness | |
CrateSugar | |
Defaultness | |
ExprKind | |
FloatTy | |
ForeignItemKind |
An item within an |
FunctionRetTy | |
GenericParam | |
ImplItemKind | |
ImplPolarity | |
IntTy | |
IsAuto |
Is the trait definition an auto trait? |
ItemKind | |
LitIntType | |
LitKind |
Literal kind. |
MacDelimiter | |
MacStmtStyle | |
MetaItemKind |
A compile-time attribute item. |
Movability |
The movability of a generator / closure literal |
Mutability | |
NestedMetaItemKind |
Possible values inside of compile-time attribute lists. |
PatKind | |
PathParameters |
Parameters of a path segment. |
RangeEnd | |
RangeLimits |
Limit types of a range (inclusive or exclusive) |
RangeSyntax | |
SelfKind |
Alternative representation for |
StmtKind | |
StrStyle | |
TraitBoundModifier |
A modifier on a bound, currently this is only used for |
TraitItemKind | |
TraitObjectSyntax |
Syntax used to declare a trait object. |
TyKind |
The different kinds of types recognized by the compiler |
TyParamBound |
The AST represents all type param bounds as types. typeck::collect::compute_bounds matches these against the "special" built-in traits (see middle::lang_items) and detects Copy, Send and Sync. |
UintTy | |
UnOp | |
UnsafeSource | |
Unsafety | |
UseTreeKind |
Part of |
VariantData |
Fields and Ids of enum variants and structs |
VisibilityKind | |
WherePredicate |
A single predicate in a |
Constants
CRATE_NODE_ID |
Node id used to represent the root of the crate. |
DUMMY_NODE_ID |
When parsing and doing expansions, we initially give all AST nodes this AST node value. Then later, in the renumber pass, we renumber them to have small, positive ids. |
Type Definitions
BinOp | |
CrateConfig |
The set of MetaItems that define the compilation environment of the crate, used to drive conditional compilation |
ExplicitSelf | |
Lit |
A literal |
Mac | |
NestedMetaItem |
A spanned compile-time attribute list item. |
TyParamBounds | |
Variant | |
Visibility |