title: Why can a trait not construct itself?
body: <p>This code give me a compilation error:</p>
  
  <pre><code>trait IBoo {
      fn new() -&gt; Box&lt;IBoo&gt;;
  }
  </code></pre>
  
  <p>while this code compiles without any error:</p>
  
  <pre><code>trait IBoo {
      //fn new() -&gt; Box&lt;IBoo&gt;;
  }
  
  trait IFoo {
      fn new() -&gt; Box&lt;IBoo&gt;;
  }
  </code></pre>
  
  <ol>
  <li>Why does the first one not compile? <code>rustc --explain E0038</code> does not give me a direct hint why it is not possible.</li>
  <li>Is it possible to combine construction and methods in one interface (trait)?</li>
  </ol>