Move unique_ptr from set to set
<p>I can't seem to figure this out and have tried the suggestions in:</p>

<p><a href="https://stackoverflow.com/questions/30048648/move-unique-ptrs-between-sets">Move `unique_ptr`s between sets</a></p>

<p><a href="https://stackoverflow.com/questions/9661056/how-to-move-an-stdunique-ptr-from-one-stl-container-to-another">how to move an std::unique_ptr&lt;&gt; from one STL container to another?</a></p>

<p>I have two sets containing unique pointers:</p>

<pre><code>std::set&lt;std::unique_ptr&lt;some_type&gt;&gt; s1, s2;
</code></pre>

<p>The pointers are of course unique but the values of some_type may or may not be, so after joining the s2 into s1, s1's size may be the same or as large as |s1 + s2|.</p>

<p>It seems like I should be able to do this:</p>

<pre><code>move(s2.begin(), s2.end(), inserter(s1, s1.end()));
</code></pre>

<p>But this fails with clang++ 3.8 / g++ 5.4.</p>

<p>What am missing here?</p>