https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97938
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |jason at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> --- Removed library dependency: template <class F, class... Args> auto apply(F&& f, Args&&... args) { return f(args...); } template <class T> T&& forward(T&& t); template <typename... Args> int print_args(Args&&... args) { return sizeof...(args); } template <typename T1, typename T2> auto fwd(const T1& t1, const T2& t2) { return ::apply([&t2] (auto&&... ts1) { return ::apply([...ts1 = forward<decltype(ts1)>(ts1)] (auto&&... ts2) { return print_args(ts1..., forward<decltype(ts2)>(ts2)...); }, t2); }, t1); } int main() { auto t1 = 1; auto t2 = 2; return fwd(t1, t2); }