https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88183
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- Reduced: struct A { int i; }; template <class T> T g(T); template <class U, class... Vs> void f(U u, Vs... vs) { [vs...](auto x) { (g(x) .* ... .* vs) = 42; }(u); } int main() { f(A(), &A::i); } Basically, the problem is that fold-expressions don't currently support partial instantiation like that done by tsubst_lambda_expr.