title: Construct a Vector of any Type with a Trait Constraint
body: <p>I'd like to have a struct, with a member that is a Vec with a Trait Constraint on the types in the Vector.  Right now, this is what I am trying:</p>
  
  <pre class="lang-rust prettyprint-override"><code>pub trait SomeTrait {
      fn some_function(&amp;self);
  }
  
  pub struct SomeStruct&lt;T: SomeTrait&gt; {
      member: Vec&lt;T&gt;
  }
  
  impl&lt;T: SomeTrait&gt; SomeStruct&lt;T&gt; {
      pub fn new() -&gt; SomeStruct&lt;T&gt; {
          SomeStruct {
              member: Vec::new()
          }
      }
  }
  
  fn main() {
      let mut some_struct = SomeStruct::new();
  }
  </code></pre>
  
  <p>And the compiler is giving me:</p>
  
  <pre><code>error: the trait 'sometrait::SomeTrait' is not implemented for the type '_'
  let mut some_struct = SomeStruct::new();
                        ^~~~~~~~~~~
  note: required by 'somestruct::SomeStruct&lt;T&gt;::new'
  let mut some_struct = SomeStruct::new();
                        ^~~~~~~~~~~
  </code></pre>
  
  <p>I've tried placing <code>&lt;T: SomeTrait&gt;</code> in various places throughout, but just getting even stranger compiler errors, so those attempts must be way off base.</p>
  
  <p>Thanks in advance for any help! </p>