https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39589
Georg <georggcc at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |georggcc at googlemail dot com --- Comment #8 from Georg <georggcc at googlemail dot com> --- If it helps implementing this legitimate distinction between use cases, i.e. default initialisation vs. software maintenance, I'd be happy having to attach a type attribute. For example, struct foo { int a; int b; } __attribute__((explicit_initialization)); Or any better name of an attribute. The attribute could tell the compiler to please use its knowledge of missing field initialisers, and, less paradoxically, to warn, actually, when -Wmissing-field-initializers is in effect. Just as it does when there are no designator in the initialiser list. For software maintenance this will be a boon. By analogy, I'd like to illustrate this use case like this: I don't want the compiler to be silent by force whenever it notices a missing implementation of a member function/Obj-C method/Ada prim op just because the programmer had given some other of these a name---assuming the respective language were to allow this at all.