#include <map> #include <memory> using namespace std; int main(void) { map<int, unique_ptr<int>> m1; map<int, unique_ptr<int>> m2(move(m1)); } fails to compile under 4.9 (but works fine with 4.7 and 4.8). A change was introduced in 4.9 after which the move constructor of _Rb_tree invokes _M_copy on a range of elements (which might not be copy-constructible). Cursory analysis suggests the problem is at /usr/include/c++/4.9/bits/stl_tree.h line 1021.
Sorry, I forgot. ~ % gcc-4.9 --version gcc-4.9 (Debian 4.9-20140116-1) 4.9.0 20140116 (experimental) [trunk revision 206688] ~ % dpkg -l libstdc++-4.9-dev:amd64 ||/ Name Version Architecture Description +++-==============-============-============-================================= ii libstdc++-4.9- 4.9-20140116 amd64 GNU Standard C++ Library v3 (deve
isn't this a duplicate of PR 59872?
dup *** This bug has been marked as a duplicate of bug 59872 ***