title: In Rust, is a vector an Iterator?
body: <p>Is it accurate to state that a vector (among other collection types) is an <code>Iterator</code>?</p>
  
  <p>For example, I can loop over a vector in the following way, because it implements the <code>Iterator</code> trait (as I understand it):</p>
  
  <pre><code>let v = vec![1, 2, 3, 4, 5];
  
  for x in &amp;v {
      println!("{}", x);
  }
  </code></pre>
  
  <p>However, if I want to use functions that are part of the <code>Iterator</code> trait (such as <code>fold</code>, <code>map</code> or <code>filter</code>) why must I first call <code>iter()</code> on that vector?</p>
  
  <p>Another thought I had was maybe that a vector can be converted into an <code>Iterator</code>, and, in that case, the syntax above makes more sense.</p>