Macro rustc_demangle::v0::parse

source ·
macro_rules! parse {
    ($printer:ident, $method:ident $(($($arg:expr),*))*) => { ... };
}
Expand description

Call a parser method (if the parser hasn’t errored yet), and mark the parser as errored if it returns Err.

If the parser errored, before or now, this returns early, from the current function, after printing either:

  • for a new error, the appropriate message (see ParseError::message)
  • for an earlier error, only ? - this allows callers to keep printing the approximate syntax of the path/type/const, despite having errors, e.g. Vec<[(A, ?); ?]> instead of Vec<[(A, ?