title: Cannot get Rust enum in scope when in crate
body: <blockquote>
    <p>Editor's note: The code in this question is from a version of Rust prior to 1.0. The underlying system of how enums are imported was changed for Rust 1.0.</p>
  </blockquote>
  
  <p>This seems like it should be easy (emulating C/C++ enums), but I can't get it to work. I simply want to use an enum from a crate, but this doesn't seem to work no matter what I try. Am I missing something about Rust enums (can they not be used like old C/C++ enums)?</p>
  
  <p>log/mod.rs:</p>
  
  <pre><code>pub enum Level {
      Debug,
      Normal,
  }
  
  pub struct Log {
      pub log_level: Level,
  }
  </code></pre>
  
  <p>main.rs:</p>
  
  <pre><code>extern crate project;
  use project::log::{Log, Level};
  
  fn main() {
      // error: unresolved name `Normal`.
      let logger = Log { log_level: Normal };
  
      // unresolved name `Level::Normal`.
      let logger = Log { log_level: Level::Normal };
  
      // unresolved name `log::Level::Normal`.
      let logger = Log { log_level: log::Level::Normal };
  
      // unresolved name `project::log::Level::Normal`.
      let logger = Log { log_level: project::log::Level::Normal };
  }
  </code></pre>