title: Why is shared_ptr<void> legal, while unique_ptr<void> is ill-formed?
body: <p>The question really fits in the title: I am curious to know what is the technical reason for this difference, but also the rationale ?</p>
  
  <pre><code>std::shared_ptr&lt;void&gt; sharedToVoid; // legal;
  std::unique_ptr&lt;void&gt; uniqueToVoid; // ill-formed;
  </code></pre>