Re-exports§
pub use expression::Argument;
pub use expression::ArgumentKind;
pub use expression::ArgumentList;
pub use expression::ExprKind;
pub use expression::Expression;
Modules§
Macros§
- dtype
- A declared type.
The type name is the name as declared in the symtab which must be in scope with
the name
symtab
- hparams
Structs§
- Attribute
List - Binding
- Block
- Representation of the language with most language constructs still present, with more correctness guaranatees than the AST, such as types actually existing.
- Const
Generic With Id - Enum
- Declaration of an enum
- Impl
Block - Item
List - A list of all the items present in the whole AST, flattened to remove module hierarchies.
- Module
- Parameter
- Parameter
List - Pattern
- Pattern
Argument - Register
- Struct
- Trait
Def - Trait
Spec - A specification of a trait with type parameters
- Type
Declaration - A declaration of a new type
- Type
Param - Type params have both an identifier and a NameID since they go through the ast lowering process in a few separate steps, and the identifier needs to be re-added to the symtab multiple times
- Unit
- Unit
Head - WalTrace
- WalTraceable
Enums§
- Attribute
- Attributes that are still present as attributes in the HIR. Not all AST attributes are in this list, as some are consumed and inlined into the corresponding ast node
- Const
Generic - Executable
Item - Items which have associated code that can be executed. This is different from type declarations which are items, but which do not have code on their own
- Function
Kind - Impl
Target - Item
- Pattern
Kind - Pipeline
RegMarker Extra - Statement
- Trait
Name - Type
Decl Kind - Type
Expression - Type
Spec - A specification of a type to be used. For example, the types of input/output arguments the type of fields in a struct etc.
- Unit
Kind - Unit
Name - Where
Clause