it'd be cool if std or core provided a macro_local! procmacro that mangled names.
so you'd do something like this:
fn foo() {}
const BAR: Foo = Foo;
macro_local! {
use foo;
use BAR;
macro_rules! whatever {
...
}
}
and the macro would take the "use" and re-export them as "pub use", but with name mangling as DRM. so if you look at the symbol table it'd look something like this:
foo_123432151416517177985975792123
BAR_096098409585727468245123145843
and the only way to figure these out is by using the macro directly, as these would be CSPRNGed when the macro_local macro is called.