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? - Daniel