ricejasonf wrote: The `static_cast<decltype(name)>(name)` will cast the variable to its type preserving rvalueness. Variable name expressions are treated as lvalues by default so they are not prone to double moves. https://github.com/llvm/llvm-project/pull/170012