rustc_expand::mbe::macro_check

Function check_binders

source
fn check_binders(
    psess: &ParseSess,
    node_id: NodeId,
    lhs: &TokenTree,
    macros: &Stack<'_, MacroState<'_>>,
    binders: &mut FxHashMap<MacroRulesNormalizedIdent, BinderInfo>,
    ops: &Stack<'_, KleeneToken>,
    guar: &mut Option<ErrorGuaranteed>,
)
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.

Arguments:

  • psess 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
  • guar is set in case of errors