[cfe-dev] std::vector insert type requirements
Nikita Alekseev via cfe-dev
cfe-dev at lists.llvm.org
Tue Jul 3 04:10:02 PDT 2018
Hello everyone, I hope this mailing list is the right place to ask about this. When I try to compile this particular code sample https://godbolt.org/g/J7cgbV <https://godbolt.org/g/J7cgbV> I get an error, that A must have a copy assignment operator. However when reading the documentation at https://en.cppreference.com/w/cpp/container/vector/insert <https://en.cppreference.com/w/cpp/container/vector/insert> I do not see any such requirements for this particular overload of insert. It does mention that T must be moveAssignable and MoveInsertable if Iterator is not ForwardIterator. Even if I define move assignment operator it still requires copy assignment.
I have tested it on Clang 4, Clang 6, GCC 8.1 and get the same error. MSVC 2017 compiles when move assignment is present. It would be great if someone could explain this behavior.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev