In Rust, is a vector an Iterator?
<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>