Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> So the answer is that the `std::move` does nothing and should be omitted

You can't assign an rvalue into an lvalue reference, precisely to avoid this sort of mistake. If this is the only overload then this just wouldn't compile (e.g. [1]). So the std::move isn't doing nothing, but yes it should be omitted. Maybe it's just a weird typo.

[1] https://ideone.com/4NS5dI



Indeed, I don't even have to compile it, vim (+ Syntastic) tells me as soon as it sees it:

  candidate function not viable: expects an lvalue for 1st argument




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: