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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] Check request: modernize-use-std-destroy-at
        </td>
    </tr>

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

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

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

<pre>
    
Needs a check that will find a manual destructor calling and will suggest to use `std::destroy_at` instead.

BEFORE:
```
alignas(T) unsigned char buffer[sizeof(T)];
auto* p = new(buffer) T{};
// ...
p->~T(); // WARNING AND FIX-IT
```

AFTER:
```
alignas(T) unsigned char buffer[sizeof(T)];
auto* p = new(buffer) T{};
// ...
std::destroy_at(p);
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMksGOmzwUhZ_msrkCGRsCLFg4f8Kv2aTSKFK7qwy-gFsHUmzPaLLos1cwSK1GfYBKlrzwOdf3OzrKOTNMRDXkR8hPkQp-nJda0_SYF85Y1M76rQYmL0TaocJupO47-lF5fDXWYm8mjQpvagrKoibnl9D5ecFOWWumAdWk35UuDAM5j37G4AjhwJzXICQIudnmt6_Kw4GhmZwnpRNgEpg8nptPz-dVxyQc2H6YVNYMk3LAyyvwCsO0gWjsRrVgG_qeFsiPzjxo7ncR5CcQx9Ub_Axc4h1BnHCiV-DlbuEVXqE4QrFLgTfAG0ySdZ17DOL88wq8XKeJI-6vn-Xz5enyP8rLCZunL_HT9cOywKRsrufnfwPjb7nz8v7O9GG_SNdCV6JSEdVpkR0KUZVpEY111Xddl7V5RixrVcVylfZc6Yr3mdBZV0Sm5oznLGclTwVLi0TpgpM6pKQYlWXWQ8bopoxNrH25JfMyRMa5QHUqqvTAI6tasm4rJuedVdMQe6PfgPO1qEu9uuI2DA4yZo3z7vccb7zdKv2HLT_hf1t3F_oRyHkQEm-zpmUyD4qDo9h5He-JxMpHYbH16P3drVlt8Q3Gj6FNuvkGvFk_26_4vszfqPPAm43AAW92iJea_woAAP__WVICRQ">