[][src]Module fuzzy_pickles::ast

The components of a Rust Abstract Syntax Tree (AST)

Structs

ArrayExplicit

An array with all members explcitly listed

ArrayRepeated

An array with an example value and a length

AsType

Inline type conversion

Ascription

Inline type specification

AssociatedType

An associated item in a type with generics

AssociatedTypeValueBound

An associated item with a trait bound

AssociatedTypeValueEqual

An exact associated item

AsyncBlock

A block which allows calling async code

AttributeContainingLiteral

An attribute that applies to the containing element

AttributeLiteral

An attribute that applies to the subsequent element

Attributed

An element that can have attributes applied to it.

Binary

A binary operator

Block

A collection of statements and an optional final expression

Break

Exit from a loop

Byte

A byte literal

ByteString

A byte string literal

Call

A function, method, or closure call

Character

A character literal

Closure

A closure

ClosureArg

A closure's argument

Const

A constant value

Continue

Advance to the next iteration of a loop

Crate

An extern crate declaration

Dereference

A dereference of an expression

Disambiguation

Type disambiguation

Enum

An enumeration of multiple types

EnumVariant

A single member of an enum

ExpressionBox

The box keyword expression

ExternBlock

Functions, types, and variables provided via FFI

ExternBlockMemberFunction

A function provided from FFI

ExternBlockMemberFunctionArgumentNamed

A named argument to a FFI function

ExternBlockMemberFunctionArgumentVariadic

A variadic list of arguments to a FFI function

ExternBlockMemberStatic

A static variable accessed via FFI

ExternBlockMemberType

An opaque FFI type

FieldAccess

Access to a field of a struct

File

An entire Rust file

ForLoop

The iterator-based loop

Function

A function definition

FunctionHeader

A function definition's signature

FunctionQualifiers

Qualifiers that apply to functions

GenericDeclarationConst

Generic constants

GenericDeclarationLifetime

Generic lifetime parameters

GenericDeclarationType

Generic type parameters

GenericDeclarations

Generic lifetime and type parameters

Ident

A single identifier

If

Boolean conditional control flow

IfLet

The conditional, pattern-matching variable scope

Impl

Implementation details for a type

ImplConst

A constant in an implementation block

ImplFunction

A function in an implementation block

ImplOfInherent

Inherent implementation for a type

ImplOfTrait

An implementation of a trait for a type

ImplType

A type in an implementation block

Let

A variable declaration

Lifetime

A lifetime identifier

Loop

The infinite loop

MacroCall

A single unexpanded macro

Match

Pattern-matching conditional control flow

MatchArm

A single pattern of a match

Module

A module of code

NamedArgument

A function argument with a name

Number

A number literal

NumberBinary

A binary number literal

NumberDecimal

A decimal number literal

NumberHexadecimal

A hexadecimal number literal

NumberOctal

An octal number literal

Parenthetical

An expression surrounded by parenthesis

Path

The path that an item is visible in

PathComponent

A component of a module-qualified identifier

PathedIdent

A module-qualified identifier

Pattern

A component used in pattern matching

PatternBox

Pattern matching against a box

PatternByte

Pattern matching a byte literal

PatternByteString

Pattern matching a byte string literal

PatternCharacter

Pattern matching a character literal

PatternIdent

A basic pattern match

PatternMacroCall

A macro call that expands into a pattern

PatternName

A renaming of a matched pattern

PatternNumber

Pattern matching a number literal

PatternRangeExclusive

Pattern matching against an exclusive range

PatternRangeInclusive

Pattern matching against an inclusive range

PatternReference

Pattern matching against a reference

PatternSlice

Pattern matching a slice

PatternSliceSubslice

Pattern matching a subslice

PatternString

Pattern matching a string literal

PatternStruct

Pattern matching against a struct

PatternStructFieldLong

Pattern matching a struct's field with recursive patterns

PatternStructFieldShort

Pattern matching a struct's field with simple names

PatternTuple

Pattern matching a tuple

Range

An exclusive range

RangeInclusive

An inclusive range

Reference

A reference of an expression

Return

Exit from a function or closure

SelfArgumentLonghand

The self argument with an explicit type

SelfArgumentShorthand

The self argument with an implicit type

Slice

The square-bracket operator for slicing and indexing

Static

A static value

String

A string literal

Struct

A struct definition

StructDefinitionBodyBrace

A struct defined using curly braces

StructDefinitionBodyTuple

A struct defined using parenthesis

StructDefinitionFieldNamed

A named field of a struct

StructDefinitionFieldUnnamed

An unnamed field of a struct

StructLiteral

Literal creation of a struct

StructLiteralField

A field of a struct literal

Trait

Defines a trait

TraitBoundLifetime

A lifetime bound on a type

TraitBoundNormal

A standard trait bound on a type

TraitBoundRelaxed

A relaxed trait bound on a type

TraitBounds

The trait bounds of a type

TraitImplArgumentNamed

An argument of a trait's function declaration

TraitImplFunctionHeader

The signature of a function in a trait declaration

TraitMemberConst

A trait's associated constant

TraitMemberFunction

A trait's function

TraitMemberType

A trait's associated type

TryOperator

The question mark / try / early exit operator

Tuple

A tuple expression

Turbofish

Allows specifying concrete types

Type

A concrete type

TypeAlias

A type alias

TypeArray

An array in a type

TypeDisambiguation

A disambiguation of a type

TypeDynTrait

A trait object

TypeFunction

A function pointer as a type

TypeFunctionArgumentNamed

The named argument of a function pointer

TypeGenericsAngle

Generic parameter declarations in the basic style

TypeGenericsFunction

Generic parameter declarations in a function style

TypeHigherRankedTraitBounds

A type with a higher-ranked trait bound

TypeImplTrait

An unnamed implementation of a trait

TypeNamed

A named type

TypeNamedComponent

A component of a named type

TypePointer

A pointer in a type

TypeReference

A reference in a type

TypeReferenceKind

The qualifiers for a reference in a type

TypeSlice

A slice as a type

TypeTuple

A tuple as a type

Unary

A unary operator

Union

A union definition

UnsafeBlock

A block which allows calling unsafe code

Use

A use item

UsePath

The names imported by the use item

UseTailGlob

A wildcard name imported by the use item

UseTailIdent

A single name imported by the use item

UseTailMulti

A collection of names imported by the use item

Value

A variable expression

VisibilityPublic

Visibility modifiers for an element

Where

A single where clause

WhereLifetime

A single where clause applying to a lifetime

WhereType

A single where clause applying to a type

While

The boolean-based loop

WhileLet

The conditional, pattern-matching loop

Enums

Argument
Array
AssociatedTypeValue
Attribute
AttributeContaining
BinaryOp
Comment
EnumVariantBody
Expression
ExternBlockMember
ExternBlockMemberFunctionArgument
FieldName
ImplKind
ImplMember
ImplOfTraitType
Item
MacroCallArgs
MatchHand
NumberValue
PatternKind
PatternRangeComponent
PatternSliceMember
PatternStructField
PatternTupleMember
RangeInclusiveOperator
SelfArgument
SelfArgumentShorthandQualifier
Statement
StructDefinitionBody
TraitBound
TraitBoundType
TraitImplArgument
TraitMember
TypeAdditional
TypeFunctionArgument
TypeGenerics
TypeGenericsAngleMember
TypeHigherRankedTraitBoundsChild
TypeKind
TypePointerKind
UnaryOp
UseTail
Visibility
VisibilityPublicQualifier
WhereKind
Whitespace