Skip to main content

Module operator

Module operator 

Source
Expand description

Binary-operator vocabulary.

BinOp is the syntactic binary-operator enum the query AST emits and the coercion spine keys overload resolution on. It is coercion vocabulary as much as it is parser vocabulary: the spine (coercion_spine::resolve_binop) cannot resolve an operator overload without it, and that spine lives in this keystone crate (ADR 0052).

Re-homing only the spine while leaving BinOp in the server would force this crate to depend back on reddb-server โ€” the exact cycle ADR 0052 exists to prevent. So the operator vocabulary moves here and the query AST in reddb-rql imports it directly, keeping one operator definition.

The move is byte-faithful: the enum, its variant set, and the precedence() table was relocated verbatim from the former server AST.

Enumsยง

BinOp
Syntactic binary operators. Parsed precedence determines grouping; this enum only identifies the operator itself. Comparison and logical operators live alongside arithmetic so a single Expr::BinaryOp walker can cover every infix form the parser emits.