int && forward(int& param) { return static_cast<int &&>(param); } // reference collapsing rules will kick in and the code will be converted to int&& forward(int& param) { return static_cast<int&&>(param); }