1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! Source-level syntax tree types.
//!
//! Most embedders do not need to construct these types by hand. They are useful
//! when building tools around Rex source, accepting pre-parsed modules from a
//! custom resolver, or compiling an expression after calling [`parse`].
//!
//! [`parse`]: crate::parser::parse
/// A Rex type class declaration from source.
pub use ClassDecl;
/// A method signature inside a Rex type class declaration.
pub use ClassMethodSig;
/// A parsed Rex source unit containing top-level declarations and an optional body expression.
pub use CompilationUnit;
/// A top-level Rex declaration.
pub use Decl;
/// A declaration for a host-provided function whose implementation is supplied by Rust.
pub use DeclareFnDecl;
/// A Rex expression node.
pub use Expr;
/// A Rex function or value declaration.
pub use FnDecl;
/// A stable identifier attached to parsed syntax nodes.
pub use Id;
/// The item list or wildcard in an `import` declaration.
pub use ImportClause;
/// A Rex `import` declaration.
pub use ImportDecl;
/// A single imported name and optional alias.
pub use ImportItem;
/// The module path named by an `import` declaration.
pub use ImportPath;
/// A Rex type class instance declaration.
pub use InstanceDecl;
/// A method implementation inside a Rex type class instance.
pub use InstanceMethodImpl;
/// A source name that may be unqualified or module-qualified.
pub use NameRef;
/// A pattern used in `match`, function arguments, and bindings.
pub use Pattern;
/// A line and column position in Rex source.
pub use Position;
/// A persistent mapping from variable names to expressions.
pub use Scope;
/// A source range used for diagnostics and tooling.
pub use Span;
/// Trait implemented by syntax nodes that carry a [`Span`].
pub use Spanned;
/// Interned Rex identifier text.
pub use Symbol;
/// A type class constraint in a type signature or instance head.
pub use TypeConstraint;
/// A Rex algebraic data type declaration.
pub use TypeDecl;
/// A source-level Rex type expression.
pub use TypeExpr;
/// A constructor variant inside an algebraic data type declaration.
pub use TypeVariant;
/// A variable occurrence or binder in the source syntax tree.
pub use Var;