https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107282
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2022-10-17 CC| |nathan at gcc dot gnu.org, | |ppalka at gcc dot gnu.org --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced test-case: $ cat pr107282.ii template <typename _Visitor, typename _Variants> void visit(_Visitor, _Variants); template <class... Ts> struct overloaded : Ts... { using Ts::operator()...; }; template <class... Ts> overloaded(Ts...) -> overloaded<Ts...>; template <class> int copyLifeState(int value) { visit(overloaded{[] { overloaded{[] {}}; }}, value); return 0; } int main() { int value = copyLifeState<int>(value); } Maybe started with r11-6855-g4804de453e7f5f90.