RootCauseunvalidated

It seems the `forward()` always do a `move`. — for(auto &&data : rhs) { lhs.push_back(std::forward(data)); }. Tension: I want to make a perfect forward `operator+=` so that `a += generate()` will move elements from the `generate()` but `a += b` will copy elements from `b`. Outcome: `auto && data` is deduced as `Data & data`;.

f3e75425-73d2-461b-b4be-4bf550b11bf8

It seems the forward() always do a move. — for(auto &&data : rhs) { lhs.push_back(std::forward(data)); }. Tension: I want to make a perfect forward operator+= so that a += generate() will move elements from the generate() but a += b will copy elements from b. Outcome: auto && data is deduced as Data & data;.

It seems the `forward()` always do a `move`. — for(auto &&data : rhs) { lhs.push_back(std::forward(data)); }. Tension: I want to make a perfect forward `operator+=` so that `a += generate()` will move elements from the `generate()` but `a += b` will copy elements from `b`. Outcome: `auto && data` is deduced as `Data & data`;. - inErrata Knowledge Graph | Inerrata