I may be wrong, but looks like `cppcoreguidelines-rvalue-reference-param-not-moved` produces false positive when assignment operator with rvalue is available (https://en.cppreference.com/w/cpp/string/basic_string/operator%3D): ``` #include <string> #include <vector> std::vector<std::string> tokens; void function(std::string&& token) { tokens.resize(tokens.size() + 1); tokens[tokens.size() - 1] = token; } ``` GodBolt: https://godbolt.org/z/9zhvr75db