This warning will catch:
- Using std::move in a return where the moved object is a local variable
- Using std::move on a pr-value object
struct A {}
A test() {
A a = std::move(A()); // warn since A() is a pr-value
return std::move(a); // warn since a is a local variable
}