<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/147582>147582</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang diagnostic "missing-designated-field-initializers" shouldn't fire for default constructed types
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          DanielJump
      </td>
    </tr>
</table>

<pre>
    https://godbo.lt/z/6a9hvzb7j

I would only expect this warning to fire for types that don't have an explicit initializer or default constructor.

`struct T
{
    std::string a;
 std::string b;
};

int main(int, char**)
{
    T t { .a = "hello" };
 return 0;
}
`
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkksFupDAMhp_GXKxBITAFDhzojkbaPfcFDAngKpOMEjPd9ulXMKN2tyshkTix_Tv_Rynx7K3t4PgMx1NGqywhdifybN2v9XLNhmDeu0XkmqDsQZ9Bn-dghpA7AX3-AH1-ona5fQz1K6geVP8T38LqDAbv3tH-vtpRUBZO-EbRs59RAk4cLU4horxfbUJZSNAED7oWXOhmkfyW6nhkQfYsTI4_bMQQ0diJVic4Bp8krqOEmN87w5O6R_Bl29XPoHpExCRm0172SeImgKDcj77Hh3sc6tNjoXr2ghdiD7phL6B_4LhQBN3vX_tPmxcUhPoZc0IoTwhaL9a5AFrjZ0mMVtboUX212nVnpitNW7aU2a6oj0XbNmXZZEs3kla6KhSZqSjaqjV1WTVPVE-DbcZ2mjLutNJHVaumaApdNHmlxqk1ZOuJzNBQBZWyF2KXO3e75CHOGae02q6o6mOjM0eDdWn3X-vRkZ9B6w2F2G0Jh2GdE1TKcZL0VUJYnO3262iYZh-S8LjNfOGU2M8HYzeySKw5TGydOfxlY9reJC0bJnfPP3n4z1xr7oxka3TfMWRZ1iEfwwX0eVP2-B2uMbzaccNznzSBPj-GvXX6TwAAAP__PzDtmw">