title: Is it considered bad style to declare multiple "use" statements in Rust?
body: <p>Is it considered bad style to declare multiple &quot;use&quot; statements in Rust?</p>
  <p>I am a C++ programmer that recently began trying out Rust. One thing I've noticed as I review Rust code is that in many Rust programs there will be a bunch of <code>use</code> statements at the top of the program. Coming from C++, it was discouraged to use <code>using namespace std</code> especially when making header files, but that doesn't seem to be the case in most of the Rust programs I've seen.</p>
  <p>So, which of the following trivial examples is considered to be better Rust programming style? Does it change if you're making a binary program vs. a module? And why?</p>
  <pre><code>use std::sync::Arc;
  use std::sync::Mutex;
  use std::thread::Thread;
  use std::rand::random;
  
  fn main() {
      let mut vec: Vec&lt;char&gt; = (0u8..10).map(|i| i as char).collect();
  
      let mut data = Arc::new(Mutex::new(vec));
      for i in 1usize..10 {
          let data = data.clone();
          let thread = Thread::spawn(move || {
              let mut data = match data.lock() {
                  Ok(guard)   =&gt; guard,
                  Err(e)      =&gt; panic!(&quot;{}, was poisoned&quot;, e)
              };
              data.push(random::&lt;char&gt;());
          });
      }
  }
  </code></pre>
  <p>Or this...</p>
  <pre><code>fn main() {
      let mut vec: Vec&lt;char&gt; = (0u8..10).map(|i| i as char).collect();
  
      let mut data = std::sync::Arc::new(
                              std::sync::Mutex::new(vec)
                                          );
      for i in 1usize..10 {
          let data = data.clone();
          let thread = std::thread::Thread::spawn(move || {
              let mut data = match data.lock() {
                  Ok(guard)   =&gt; guard,
                  Err(e)      =&gt; panic!(&quot;{}, was poisoned&quot;, e)
              };
              data.push(std::rand::random::&lt;char&gt;());
          });
      }
  }
  </code></pre>