A procedural macro can use global state.
This crate demonstrates this to ask: should this be possible?