When you have a derived object with a move constructor, and the base object also has move semantics, what is the proper way to call the base object move constructor from the
Named R-value references are treated as L-value.
So we need std::move to convert it to R-Value.
std::move