title: std::unique_ptr with an incomplete type won't compile
body: <p>I'm using the pimpl-idiom with <code>std::unique_ptr</code>:</p>
  
  <pre><code>class window {
    window(const rectangle&amp; rect);
  
  private:
    class window_impl; // defined elsewhere
    std::unique_ptr&lt;window_impl&gt; impl_; // won't compile
  };
  </code></pre>
  
  <p>However, I get a compile error regarding the use of an incomplete type, on line 304 in <code>&lt;memory&gt;</code>:</p>
  
  <blockquote>
    <p>Invalid application of '<code>sizeof</code>' to an incomplete type '<code>uixx::window::window_impl</code>'</p>
  </blockquote>
  
  <p>For as far as I know, <code>std::unique_ptr</code> should be able to be used with an incomplete type. Is this a bug in libc++ or am I doing something wrong here?</p>