title: How to create a Vec of unit structs that implement sized trait?
body: <p>I want to be able to create a Vec of unit structs that implement a sized trait (preferably without using a <code>Box&lt;T&gt;</code>).</p>
  <p>Here is what I want to be able to do, but It fails and says that <code>ProgrammingLanguage</code> cannot be made into a trait object:</p>
  <pre class="lang-rust prettyprint-override"><code>struct Python;
  struct Rust;
  
  trait ProgrammingLanguage: Sized {
      fn say_hello_world() -&gt; ();
  }
  
  impl ProgrammingLanguage for Python {...}
  impl ProgrammingLanguage for Rust {...}
  
  // Fails because ProgrammingLanguage cannot be made into a trait object
  let foo = Vec::&lt;ProgrammingLanguage&gt;::from([Python, Rust]);
  
  </code></pre>