`$crate` in a macro matcher is the reserved identifier `$crate` that doesn't have a way to write it outside of a macro (I think?). That is: ```rust macro_rules! m { (x) => { m!($crate:tt) }; ($crate:tt) => () } fn main() { m!(x); // OK m!(y); // ERROR m!($crate:tt); // ERROR m!(crate:tt); // ERROR } ```