26 May
2017
26 May
'17
12:48 p.m.
Andrzej Krzemienski wrote:
2017-05-26 14:22 GMT+02:00 Peter Dimov via Boost
: Andrzej Krzemienski wrote:
Maybe no-one uses expected<T> as function parameter, but consider this:
expected
g() { vector<T> v; // try to populate v; return v; // are you expecting a copy elision here? } This should move (subject to a clarification in the core language though.)
Is this some recent addition?
Moving on return is C++11, but it only kicked in when the types were the same. In C++17, the wording is different and it seems that the intent is for the above to also move (assuming that expected<T> has a constructor taking T&&.)