Copying a std::deque<mxs::Buffer> would cause a compilation failure due to ambiguity between the copy-assignment and move-assignment operators. Explicitly constructing a temporary object retains the strong exception guarantee but prevents the ambiguity.