title: How to define some macros as 'private' to a module, when using `macro_use` in Rust?
body: <p>I have a file which contains shared macros for a Rust project.</p>
  
  <p>Since I want to re-use the macros across the crate (between modules), I declare the module with <code>#[macro_use]</code>.</p>
  
  <p>While writing the macros, I split out some shared logic into a macro to avoid repetition, in this case I can't use a private function, it needs to be a macro.
  If possible, I'd like to hide this shared macro so it can't be used directly by other modules.</p>
  
  <p>Is there a way to make some macros <em>private</em>, so they aren't exposed to other modules in the same crate via <code>#[macro_use]</code>?</p>