https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108773

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly better testcase where basic_string, array and list are at least
templates, again -std=c++20:

namespace std {
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;
};
template <typename T>
struct basic_string {
  basic_string(const T *, allocator = allocator());
  ~basic_string();
};
using string = basic_string<char>;
template <typename T>
struct array {
  T _M_elems;
};
template <typename T>
struct list {
  list &operator=(initializer_list<T>);
};
}
struct RGWSyncTraceManager {
  std::list<std::array<std::string>> admin_commands;
  void hook_to_admin_command();
};
void RGWSyncTraceManager::hook_to_admin_command() {
  admin_commands = {{""}, {""}};
}

Reply via email to