В VS2010 std:: forward определяется как таковой:
template<class _Ty> inline
_Ty&& forward(typename identity<_Ty>::type& _Arg)
{ // forward _Arg, given explicitly specified type parameter
return ((_Ty&&)_Arg);
}
identity
, по-видимому, используется исключительно для отключения вывода аргумента шаблона. Какой смысл целенаправленно отключить его в этом случае?