Are explicit "fragment specifiers" for metavariables unique to Rust macros?


I know that Rust macros get their hygiene from “Macros-that-work-together” and repetition from “Macros-by-example”, which are both Scheme/Racket papers, and while I’m not an expert in either language, I don’t think they have such an explicit “fragment specifier” notation. Is there a precedent for this style in macros of other languages?