https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106838
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- Oh, and actually __is_final is a fourth kind: // D. // "If T is a class type, T shall be a complete type." So the same as C, but doesn't allow incomplete unions.