https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Smaller testcase from PR83727: namespace a { template <typename b, int c> b *begin(b (&)[c]); } class d { public: d(const char *); }; struct e { int f; d docstring; void (*func)(int &, int); }; namespace a { template <typename h, typename g> h i(h, h, g) { return 0; } } using a::begin; template <typename j, typename k> auto i(j &&container, k l) -> decltype(begin(container)) { return a::i(container, container, l); } enum { m }; template <int> void n(int &, int) { [] { struct p { } o[]{{}}; i(o, p{}); }; } e cmds{'i', "", n<m>};