fn check_binders(
    sess: &ParseSess,
    node_id: NodeId,
    lhs: &TokenTree,
    macros: &Stack<'_, MacroState<'_>>,
    binders: &mut FxHashMap<MacroRulesNormalizedIdent, BinderInfo>,
    ops: &Stack<'_, KleeneToken>,
    valid: &mut bool
Expand description

Checks lhs as part of the LHS of a macro definition, extends binders with new binders, and sets valid to false in case of errors.


  • sess is used to emit diagnostics and lints
  • node_id is used to emit lints
  • lhs is checked as part of a LHS
  • macros is the stack of possible outer macros
  • binders contains the binders of the LHS
  • ops is the stack of Kleene operators from the LHS
  • valid is set in case of errors