-
Couldn't load subscription status.
- Fork 15k
Closed
Labels
clang:diagnosticsNew/improved warning or error message in Clang, but not in clang-tidy or static analyzerNew/improved warning or error message in Clang, but not in clang-tidy or static analyzer
Description
#56628 introduce a disruptive change based on a wrong understanding about how designated initializers are meant to be used.
missing-field-initializers should report for user really missing some fields that may lead to potential error behavior.
Designated initializers are more like an extension to default initializer. It's not a kind of implicit init.
struct A {int a; int b;};
A default_init = {}; // a=0, b=0, default init all fields, not reporting warning
A designated_init = {.b=1}; // a=0, b=1, default init a, designated init b; reporting warning now, should not
A real_missing = {1}; // proper use case for this diagnosic flag
b-spencer, floooh, marcushultman and ryb-ableton
Metadata
Metadata
Assignees
Labels
clang:diagnosticsNew/improved warning or error message in Clang, but not in clang-tidy or static analyzerNew/improved warning or error message in Clang, but not in clang-tidy or static analyzer