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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] bugprone-unused-return-value shouldn't encourage to suppress issue with casting to void
        </td>
    </tr>

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

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

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

<pre>
    Example:
```
#include <vector>
#include <algorithm>

void test()
{
 std::vector<int> a;
    std::remove_if(a.begin(), a.end(), [](int v) { return v > 5; });
}
```

This generate warnings:
```
[<source>:7:5: warning: the value returned by this function should be used [bugprone-unused-return-value]]
    7 | std::remove_if(a.begin(), a.end(), [](int v) { return v > 5; });
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[<source>:7:5: note: cast the expression to void to silence this warning]
1 warning generated.
```

Clang-tidy provide // NOLINT as an option to silent a warning, and casting to `void` shouldn't be suggested by default.
Best would be to add option `AllowSuppressionWithVoid` to the check and set it by default to `false`.
Developers treat Clang-tidy fix suggestions straight forward, in this case developer that were fixing this issue simply added `(void)`.

Message should also say that return value of this function is important, not just a code-smell.
Maybe: ```the value returned by this function should not be disregarded; neglecting it may lead to errors```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VV-r47YT_TTKy5DgSLEdP-Qhf-6FH-zur7BLC30psjWxtVUkI42Tm5d-9iLZTm7Ldksp1ATHsqQ5Z86csWQIurWIO5YfWH5ayIE653c_aEf-588fFrVT993Lm7z0BpnYs-zEsj0rsuk3DrnQtjGDQmDieMWGnGfi5VuT0rTOa-ouz_l0vzqtgDAQ41vGq2mqPIwPEEhFcLGfgx-1JSZeQDIxrwF4LvN4cVf8RZ8Z38pVja22U2B-BLlCq57DMXHGt9oSXBmvgJUH8EiDt3CFiJIzcQBWnuKOGS8OvylGun_pdIAWLXpJCDfprbZt-EsB8wMTx-AG32AURuxLJvY5E_t5a3ykDuEqzYATOVRQ34Ei0nmwDWlnIXRuMApqhCGgirnVQ9t7Z3E52PhqOe5dpkAx7_z01K8EVh7_UxUhXRGV5S-__avrb6W0jqKFoZGBkpj41nsMIepGDkYLOgjaoG1wFHaWf1ZpPb95FFetvmODo5G2XZJWd-i9u-rYBPyV8Vf49P8P__v0BWQAacH1NJFI4ATyARyVtipxjqjkgBVZpMqKbKq2ZbykWPIwtC0GGn2h8CwHQxO7AwaC2-wNciCVmmFZke2NcbfPQz_r8ZOm7scJhFwSq-mw-TVxCUig6R3GxOosTUBWZBPkCa9oXI8-AHmUBO_EOOu3ma12NkAgL3XbEZydv0mvYtrajiVoZEBQczCgThLc0GMMkiSJi3QIA0LQl97cY27R-0XG-DZJxasnrfH-EUOQLc79Ik1wEOR9jD67NvWaO_-pxSLapXeepKXI0zqCr0OIRWucwmW4oDET2Ed5r5PnHu74B00cA9cISgePrfQKVWwgi63BJplBE1zkHQzKZFz03vnwQFqonVCVqOQCd-ui2mw3oszzRbfLhMhxowrcrrdl3lQbgfy8ltnmvM3qquQLveMZF1m1LrI8XishmyzP12WxVlJVVcU2GV6kNitjrpeV8-0i6b8rirzMFkbWaEI6UDhvHkVnnMcDxu_ipmU9tIFtMqMDhWcY0mTSUfRuW36C733D_tAEaBs3-FjY2EuTnydz3DR17_soOmMxeLPriPr0aU6d2WrqhnrVuAvjr5HY9LfsvfuKDTH-muIFxl9Tvr8HAAD__7lXUMQ">