[C++11: 12.8/3]:A non-template constructor forclass Xis a move constructor if its first parameter is oftypeX&&,const X&&,volatile X&&, orconst volatile X&&, and either there are no other parameters or else all other parameters have default arguments (8.3.6). [..]
Why is a constructor that takes a const rvalue reference called a "move constructor" by the standard? Surely it's self-evident that this prohibits meaningful move semantics in all but the most fringey cases?
"According to me", as the SO saying goes, T(const T&&) shouldn't be deemed a "move constructor" as such, since it's basically useless.
If anything, shouldn't it be called a copy constructor?