пакеты параметров не расширены с помощью «...» - еще одна ошибка шаблона с gcc?

Обработка вариационных шаблонов в gcc хорошо известна как неоднозначная (см., например,этот а такжеэтот), но мне интересно, известна ли следующая ошибка (я не могу найти ее в bugzilla) или это действительно ошибка. По сути, gcc (4.8.1) не может развернуть пакет параметров внутри лямбды:

#include <vector>
#include <algorithm>
#include <type_traits>

template<typename T, typename F, typename... X>
void bar(std::vector<T> const&c, F const&f, X&&... x)
{
  std:for_each(c.begin(),c.end(),[&](const T&t)
         { f(t,std::forward<X>(x)...); });
}

это вызывает (даже без какой-либо конкретизации)

error: parameter packs not expanded with ‘...’:
  { f(t,std::forward<X>(x)...); });
                        ^

есть идеи как этого избежать? (примечание: хорошо с icpc 14.0.2 и clang 3.4) Или gcc корректен, а clang & icpc неправильный?

редактировать Обратите внимание, что проблема заключается в лямбда-выражениях, поскольку они также не компилируются:

template<typename T, typename F, typename... X>
void bar(std::vector<T> const&c, F const&f, X&&... x)
{
auto func = [&](const T&t){ f(t,std::forward<X>(x)...); };
std:for_each(c.begin(),c.end(),func);
}

с отчетом «об ошибке» в определении лямбды.

Ответы на вопрос(1)

Ваш ответ на вопрос