https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106230
--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> --- Reduced: struct A { A(); operator int(); }; template <int N> struct array { A elts[N]; A *begin(); A *end(); }; void fn() { for (int i : array<4>{}) ; }