https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85577 --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- To construct an A you'd need to add: A() = default; But this might actually be INVALID, due to Core DR 2137. I'll look into it tomorrow.