https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92878
--- Comment #7 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- __is_constructible is incorrectly false for such an aggregate: struct aggressive_aggregate { int a; int b; }; int main() { static_assert(__is_constructible(aggressive_aggregate, int, int)); } Do you want a new bug report, or should this be handled as a follow-up on this one? By the way, this is exactly why I asked to add a libstdc++ test for this, for make_shared, make_unique and allocator::construct (and construct_at). When I started writing that test, I semi-immediately ran into make_shared still not working, because the underlying utilities it uses check constructibility, and get a wrong answer.