<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">