Hi all, Following <http://trac.webkit.org/changeset/170774>, please use WTF::move() instead of std::move(). I substituted WTF::move() for std::move() in all code to date. WTF::move() is a replacement for std::move() that is less error prone to use.
Depending on std::move() to lead to a move operation has led to bugs in some contexts, including <https://bugs.webkit.org/show_bug.cgi?id=134304> and <http://trac.webkit.org/changeset/170594>. In particular, assigning the result of std::move() that is passed a const value will lead to a copy operation (*). For comparison, WTF::move() compile asserts that its argument is a non-const lvalue reference (**). So, passing a const value to WTF::move() will cause a compile-time error. This behavior prevents introducing such bugs and catches unnecessary calls to move() with an rvalue (as such calls are no-ops). If you encounter issues using WTF::move() or have suggestions for improvement then please file a bug and CC me. Have a happy Fourth of July weekend! Dan (*) I'm disregarding functions with nonsensical signatures and behavior, such as a move assignment operator taking a const rvalue reference. (**) A person must still ensure that using WTF::move() is necessary at each call site. That is, that the usage of WTF::move() leads to a move operation as opposed to a copy operation.
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev