Constant proc_macro::bridge::server::ALREADY_RUNNING_SAME_THREAD
source · const ALREADY_RUNNING_SAME_THREAD: LocalKey<Cell<bool>>;
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Expand description
While running a proc-macro with the same-thread executor, this flag will
be set, forcing nested proc-macro invocations (e.g. due to
TokenStream::expand_expr
) to be run using a cross-thread executor.
This is required as the thread-local state in the proc_macro client does
not handle being re-entered, and will invalidate all Symbol
s when
entering a nested macro.