https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106689
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marxin at gcc dot gnu.org Keywords|needs-reduction | --- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced to something like: cat ice.C template <typename _Tp> using remove_reference_t = _Tp; template <typename _Tp> using remove_extent_t = _Tp; template <typename _Tp, _Tp> struct integer_sequence {}; template <typename _Tp, _Tp _Num> using make_integer_sequence = integer_sequence<_Tp, __integer_pack(_Num)...>; template <int... _Idx> using index_sequence = integer_sequence<unsigned, _Idx...>; template <int _Num> using make_index_sequence = make_integer_sequence<unsigned, _Num>; auto bind(auto... a) { [&]<auto... J>(index_sequence<J...>) { ([a] { using A = remove_reference_t<decltype(a)>; is_same_v<remove_extent_t<A>>(J); } || ...); } (make_index_sequence<sizeof...(a)>()); } auto operator_sq2(bind(1.3));