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

Checks tts as part of the RHS of a macro definition, tries to recognize nested macro definitions, and sets valid to false in case of errors.


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