title: C++ When template argument deduction fails
body: <p>Why can't C++ determine that I intend to create a <code>unique_ptr&lt;A&gt;</code> with this syntax?  (a has previously been declared as <code>unique_ptr&lt;A&gt;</code>)</p>
  
  <pre><code>a = unique_ptr(new A());
  </code></pre>
  
  <p>It seems awfully redundant to have to include <code>&lt;A&gt;</code>.  This works for most functions templates I use, why not unique_ptr?</p>
  
  <p><strong>EDIT:</strong> C++ now supports make_unique, with no redundancy.</p>