Function regex_syntax::ast::visit

source ·
pub fn visit<V: Visitor>(ast: &Ast, visitor: V) -> Result<V::Output, V::Err>
Expand description

Executes an implementation of Visitor in constant stack space.

This function will visit every node in the given Ast while calling the appropriate methods provided by the Visitor trait.

The primary use case for this method is when one wants to perform case analysis over an Ast without using a stack size proportional to the depth of the Ast. Namely, this method will instead use constant stack size, but will use heap space proportional to the size of the Ast. This may be desirable in cases where the size of Ast is proportional to end user input.

If the visitor returns an error at any point, then visiting is stopped and the error is returned.