https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108773
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reduced testcase:
struct __new_allocator {};
template <typename> using __allocator_base = __new_allocator;
struct allocator : __allocator_base<int> {};
template <class> struct initializer_list {
void *_M_array;
decltype(sizeof 0) __rebind;
};
struct basic_string {
basic_string(const char *, allocator = allocator());
~basic_string();
};
struct array {
basic_string _M_elems;
};
struct list {
void operator=(initializer_list<array>);
};
}
struct RGWSyncTraceManager {
std::list admin_commands;
void hook_to_admin_command();
};
void RGWSyncTraceManager::hook_to_admin_command() {
admin_commands = {{""}, {""}};
}