title: How do you import macros in submodules in Rust?
body: <p>I have the following directory structure</p>
  
  <ul>
  <li><code>/main.rs</code></li>
  <li><code>/lib.rs</code></li>
  <li><code>/tutorial/mod.rs</code></li>
  <li><code>/tutorial/foo.rs</code></li>
  </ul>
  
  <p>In <code>foo.rs</code> I need to use a macro from the glium library, <code>implement_vertex!</code>. If I put <code>#[macro_use] extern crate glium;</code> at the head of <code>foo.rs</code>, I get a <code>error: an `extern crate` loading macros must be at the crate root</code>. I also get a <code>error: macro undefined: 'implement_vertex!'</code></p>
  
  <p>There is also a <code>lib.rs</code> that is the crate root of the tutorial modules. I needed to put <code>#[macro_use]</code> there. Does this create 2 crate roots if I have both <code>main.rs</code> and <code>lib.rs</code>?</p>
  
  <p>What is the correct way to import macros in a submodule?</p>