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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy][C++20] False negative modernize-use-emplace when passing init list
        </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 <string>
#include <vector>

struct S {
    std::string s;
};

void f(std::string a) {
    std::vector<S> v;
 v.push_back({std::move(a)}); // no warning
}
~~~
https://godbolt.org/z/4jrj1M6hY
With C++20, `v.emplace_back(std::move(a));` should be used.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0UsFuozAQ_ZrhMgqCsSnkwKFJym1PPaz2tDJmAu46OLINVXvIt68gabOquhIaRhrem_eGp0Iw_chcQ7GD4pCoKQ7O13rwevCb3sRhapPWdW_15XLRQLvlyQ6QPQIJM2o7dYwg9iF6M_Ygnr4bzqyj8_fhWkP0k474jFDeGBERQ-xAPIJ4vBJiAPGxrzzc-7XOznR4BKq-ghTQ9j-0H1L2zyCecP5kxDk9T2H43Sr9B6iCcvcJObmZgaqFdNFAWxA7BGqAGhwdvio_LtY_Ra7N5XK5NkOM57AQrYDeda2zMXW-B2regRr54l_yHw_Dr-vnP00ccH-9M2VAe4SHbE75dLZK84e8b7WtwuAhwzC4yXbYMk6BuzTpatFtxVYlXOcliZKKqsySodaVPpa55Ep2lVRVlpfi2LbHLVcVsxQqMTVlJLMqL3KSkqpUSq2K7NgVLIUoywJkxidlbGrtfFpMJSaEies8k1LIxKqWbVijRaStGvtNNN0bEC1R8_WC2rRTH0Bm1oQY7jzRRLuG8h9YcYBid79NccBG2cA4cq-imRlPrmM_mnfeTIE3t5vh68Ajnpegjz2a0URcdiWTt_WXn7OmPdXuBNQsSm6vzdm7F9YRqFntBaDm5nCu6W8AAAD__2IT9zk">