title: What's the best practice for creating instances of a struct?
body: <p>I'm trying to understand what's the best practice for creating instances of a <code>struct</code>. In C++ I'd pass everything I need to the constructor and throw an exception if the <code>struct</code> could not be created. In rust I've been told to create a method that returns a <code>Result</code>. But isn't this too much work? Why not just <code>fail!()</code>?</p>
  
  <p>Also, if returning <code>Result</code> is the way to go, does this mean that all structs will need a factory?</p>