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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy][C++20] False negative modernize-use-emplace with aggregate types
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          chrchr-github
      </td>
    </tr>
</table>

<pre>
    ~~~c++
#include <vector>

struct S {
    //S(int i, int j) : a(i), b(j) {} // warning with this
    int a, b;
};

void f(std::vector<S>& v) {
    v.push_back(S{ 1, 2 }); // FN
    v.emplace_back(1, 2);
}
~~~
https://godbolt.org/z/GKWEjT5sE
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxckk-PmzAQxT_NcLES4bFZ4MAhf5YeKvWSSj1WNvaCtw5EtmGVPfDZKwNpVpWQGWn8e_PGesJ70_ZaV5AdITsnYgzd4Kqmc03ndq0J3SgTOah7Nc9zA3iMX3qG9ADITN_YUWkC7DTpJgwO2OvWXE4f3NgEciGQbxAhhADWgPUFsDB9IAbwRGLxDlgSYAciYgewjA0JWKyN_Aj5eWPJh3C96VvyYUJHQmf8Uz1KiRVlD6f5-Vkv5zQYRd4ACx8UsAOww8P_6RJ3wBcyPab-U572t9F3v6Vo_gAWF8iPhMZBSOIALIEdH_7qH18xfb1Z0egHuUIr8DS4FPM8r0UXws1HZ4teOyg52LAfXAtYfwLW377_en3_mfnXRFVMlawUia5ozihPeZ7zpKsUL5iSkr-kWtCcokZRqlRynmlO30SemApT5JRSTEv-Qvm-lEUhJUMqi6zIMg481Vdh7N7a6RpnJ8b7UVeUZgWniRVSW7_kBrGxom93wag7IMYcuSpSOzm2HnhqjQ_-qRNMsEvivmDZGbLjaQ0YppCdSS2s16TXrQhm0uQ6KO1686l3o9e77U3XBIi2dfGaJuF-0z4Zna3-e8ElyPtmuALW0cf2293c8K6bAFgvy3nAettvqvBvAAAA__92c-Wa">