http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45893
--- Comment #13 from Paolo Carlini <paolo.carlini at oracle dot com> 2010-10-07 01:38:31 UTC --- PS: I don't know if this can help you with your work, but today I wondered whether we should put to good use forward_as_tuple where we used to have tie and elsewhere too. Without having seriously analyzed the situation seems strange that things like: operator()(_Args&&... __args) { return this->__call<_Result>(tuple<_Args...> (std::forward<_Args>(__args)...), can't be operator()(_Args&&... __args) { return this->__call<_Result>(forward_as_tuple(__args...), or something like that... may need adjustments where tuple<_Args...> is now expected, tough.