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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] misc-const-correctness false positive when using std::function default parameter
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy,
            false-positive
      </td>
    </tr>

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

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

<pre>
    ```
#include <functional>
#include <sstream>

void func(std::function<void()> predicate = []() {})
{
    static_cast<void>(predicate);
}

int main(int const /*argn*/, char * /*argv*/[])
{
    std::ostringstream oss;
    oss << "hello world";

    func();

    return 0;
}
```
Building this on Clang 19.1.7 arm64-apple-darwin24.2.0 (MacOS Sequoia 15.2) triggers a false positive for the check misc-const-correctness on the ostringstream variable:

```
error: variable 'oss' of type 'std::ostringstream' (aka 'basic_ostringstream<char>') can be declared 'const' [misc-const-correctness,-warnings-as-errors]
[build]    11 | std::ostringstream oss;
[build]       |     ^
[build]       | const 
```

while adding `const` clearly causes a compilation error.

I'm not able to reproduce this on godbolt with x86-64 clang (trunk) (or any of the older versions I tried either), so it seems like this might be MacOs specific: https://godbolt.org/z/9e47zxbcT.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEVM2u2zgPfRpmQzhw6N8ssnCSG6CLD9-isy8UiYk1V7Y8kpz09ukHUtz71xYDBLAjkseHh4cS3uvryLyDag_VcSXm0Fu3m57F5bI6W_WygzpffnkHVOhRmlkxQnG4zKMM2o7CQPH0S9T74FgMSyjvblYrjCVArQ8Kig6K7icEFIcYB2qBtlA84eRYaSlChDrig9wjitDsoTnGvLyL73mHiOiDCFp-k8KHn2DFE1D7CpSA96nm-GCkx4CD0CNQG1-lHX1AoBNQJ9x1BOrSnwPKXjgE6t6CtyW48PpMZenO-uD0eH0Igdb7B4GYY72PIkFxQCDq2RiLd-uMAqKF5iNxUeyN_ePYcZjdiPmHlt5Naj9ro_R4xdBrj3bEgxHjFTfb9WbdoHBDXWZimgxnSri7Hqlc0zpHoPZ_Qv7_K37lf2arBW6qNUXRg9PXKzuPAi_CeMbJeh30jfFiHYaeUfYsn3HQXmZJyUxa51iGkX0iEHM-CnITTouz4ShWaux9A-ycdVB0r1kI1EQJqUF7wfAypZPfax2TgFrxLGLOWXgtv31MKA5xqMkiTexPihHPjIqlEY5VLEtdJKRq__u2gA7ZXbgxwmbCZ4mzj47IO6j25zgDqI5xXpsNQnP4T2t8qkJMVelZPf0xvjj3o4CQd_deG0ahkhGgzh8d1TlKw8KZF5Ri9hxnKu0waSPiKmLqYv1A-ALUDDjagGkEwaLjyVk1S3511tWqszUB7zr0-L2ts7pEmdwG1AY3j89pa6m1DsX4kqYXvWAUO7yx89qOHr9Ei7FC1qFnF-1OB_QWdUDPPHg0-nn55qCvfYjTilb16CeW-qJlNEsfwuSjwnFRTwuztXVXoNMPoNOWy-bH97P8a71Su0Jti61Y8W7TFNs2z-tyu-p3Ta1EuWlK3laNbPOcG3G-lHQpW1Yir8uV3lFOVU6bZlNUDW3XjSzyom5V3XCtthVBmfMgtFkbcxvix1fa-5l3G2rKbbky4szGpwuXKAmVBa1e4uLTAYjSfmU_9yseV8eV20Ww7DxfPZS50T74N_igg0k3-Du06vinXfy0v_eeR5x9tMgv1zIqvojZBJyEEwMHdqvZmd0nlXXo5_Na2gHoFDktj2xy9m-WAeiU-vdAp0WC247-DQAA__9oywB2">