https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93559
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- struct E { int d[10]; }; struct S { constexpr int operator()(char) { return 42; } }; template <typename> struct X { constexpr static E foo(S s) { return {{s(1)}}; } }; S s; static_assert((X<S>::foo(s), 1), "");