https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117002
--- Comment #4 from Iain Buclaw <ibuclaw at gcc dot gnu.org> --- I'm going to call this a bug in the D front-end. https://godbolt.org/z/EYvcfE4aK extern(C++) class Foo { ubyte[4] not_multiple_of_8; } static assert(__traits(classInstanceAlignment, Foo) == 8); static assert(__traits(classInstanceSize, Foo) == 16); The classInstanceSize returns 12.