#[non_exhaustive]
pub enum FilterExpr {
    Unary(UnOpBox<FilterExpr>),
    Binary(Box<FilterExpr>, BinOpBox<FilterExpr>),
    Path(SubPath),
    Lit(ExprLit),
    Parens(Paren, Box<FilterExpr>),
}
Expand description

An expression inside a filter directive, or any sub-expression in that tree

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Unary(UnOpBox<FilterExpr>)

An expression with an unary operator before it, such as !(true)

Binary(Box<FilterExpr>, BinOpBox<FilterExpr>)

Two expressions with a binary operator joining them, such as 1 + 4

Path(SubPath)

A SubPath expression, such as the @.a in @.a == 1

Lit(ExprLit)

A literal value, such as null or 'bar'

Parens(Paren, Box<FilterExpr>)

An expression wrapped in parenthesis, such as the (1 + 2) in (1 + 2) * 3

Trait Implementations

This is supported on crate feature spanned only.

Get the source span of this item

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

The number of items that this chain link consists of.

Append the elements in this link to the chain.

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.