# [−] [src] Function regex_syntax::ast::visit

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

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.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)