Proposed resolution:
Change the synopsis in [refwrap] paragraph 1:
namespace std { template <class T> class reference_wrapper { public : [...] // invocation template <class... ArgTypes> typename result_of<T&(ArgTypes&&...)>::type operator() (ArgTypes&&...) const; }; }
Change the signature in [refwrap.invoke] before paragraph 1
template <class... ArgTypes> typename result_of<T&(ArgTypes&&... )>::type operator()(ArgTypes&&... args) const;1 Returns: INVOKE(get(), std::forward<ArgTypes>(args)...). (20.8.2)