https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92852
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Somewhat reduced: #include <tuple> #include <algorithm> struct S { int operator<<(const int &); }; S glob; void foo() { S& message_stream = glob; auto data = std::make_tuple(3,4u); auto format = [&message_stream](auto && x) { message_stream << x ;}; std::apply([&](auto const& ...x){(..., format(x));}, data); } with std::make_tuple(3,4) it doesn't reproduce(?!)