``++std::forward++`` forwards lvalues either as lvalues or as rvalues based on its template argument.
``++std::forward++`` should always take as a non-template argument a forwarding reference which is defined by the standard as:
_rvalue reference to a cv-unqualified template parameter that does not represent a template parameter of a class template._
If you don’t pass forwarding reference as an argument to ``++std::forward++`` S5417 will be triggered.
If you don’t pass the template parameter referred to by the forwarded reference or the ``++decltype++`` of the forwarded expression this rule will be triggered.