On 21 May 2013 09:24, Daniel Krügler wrote: > 2013/5/21 Jonathan Wakely <jwakely....@gmail.com>: >> This broke due to some front end changes that disallow forming >> function types that return abstract types. std::reference_wrapper >> always passes an lvalue reference to __invoke so it's correct to use >> an lvalue reference as the result_of's template argument. > > I agree. This was > > http://cplusplus.github.io/LWG/lwg-defects.html#2017 > > wasn't it?
Ah yes, thanks! I'd fixed the signature in reference_wrapper but not its __invoke() helper. It's fixed on trunk and the 4.8 branch now. > > - Daniel