title: Segmentation fault with unique_ptr
body: <p>I am trying to use unique_ptr instead of allocating memory myself.
  I have the following code:</p>
  
  <pre><code>class Album {
  ...
  public:
      Add(Song* song);
  ...
  }
  
  void func(){
      ...
      std::unique_ptr&lt;Album&gt; album = std::unique_ptr&lt;Album&gt;{new Album()};
      std::unique_ptr&lt;Song&gt; song = std::unique_ptr&lt;Song&gt;{new Song(soundtrack.data(), soundtrack.length())};
      album-&gt;Add(song.get());
      ...
  }
  </code></pre>
  
  <p>I get segmentation fault for the line:</p>
  
  <pre><code>album-&gt;Add(song.get());
  </code></pre>
  
  <p>I tried multiple variations to get the pointer, including std::move and make_unique, but maybe I don't understand how unique_ptr works well enough to solve it.</p>
  
  <p>Any ideas?</p>