From http://en.cppreference.com/w/cpp/memory/polymorphic_allocator :
polymorphic_allocatorDoes not apply to container copy destination, move destination, or swap. As a result, the polymorphic_allocator-using container move assignment can cause an outlier and swap two polymorphic_allocator-using containers whose dispensers do not compare the same results in undefined behavior.
Why do I need this behavior? Not only does this seem to introduce unreasonable undefined swap behavior, but, more importantly for my purposes, it implies that std::pmr::vectorit is actually a type not assigned to move. I mean, it can be assigned to move, but it is almost guaranteed to be ineffective.
std::vector<int> v = {1, 2, 3};
std::vector<int> w;
w = std::move(v);
std::pmr::monotonic_buffer_resource mr(1000);
std::pmr::vector<int> v( {1, 2, 3}, &mr );
std::pmr::vector<int> w;
w = std::move(v);
, . v mr, v mr. . , -, mr. , , , , ; . ( , .)
, /, , :
std::pmr::monotonic_buffer_resource mr(1000);
std::pmr::vector<int> v( {1, 2, 3}, &mr );
std::pmr::vector<int> w(v.get_allocator());
w = std::move(v);