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

    <tr>
        <th>Summary</th>
        <td>
            Valid code fails with "reference to local variable declared in enclosing function"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```cpp
#include <array>
#include <ranges>

int main() {
    constexpr auto v = std::array{1, 2, 3, 4, 5, 6};
    for (auto const& [t0, t1, t2] : v | std::views::adjacent<3>) {
 }
}
```
> error: reference to local variable 'v' declared in enclosing function 'main'

Works in GCC 15.1
Error in clang 20.1.0
Works if you remove constexpr

[godbolt link](https://godbolt.org/z/7d3aW5Y4b)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8ks2O6zYMhZ-G3hA3kCn_xAsvnGRS9AV60aUsMY7uKFIgyZlOn75QkkGAXmAA49gw6e9Qh1Yp2cUzj9DuoD1Uas3nEMc_F2-zDb6ag_kcoROPS1-vICYgab12q2EEuVcxqk-Qb78VovILp2dFTNZnvCjrgbZAA0K_AzEhIurgU-Z_rhHVmgPeEOQBUzYgJ5DTA9_vaqA9UhFZpCnSFumgP4D8gp1CRKDtnXQHA3UI7S6L0pvvlEzQHhDkVLz6_cvrZvkjPW3NL6XZZ5B7WY7wmrjYiempX8GUZ_mGHGOIBRz5xJG9ZswBXdDK4U1Fq2bHCNTfgHo0rJ2KbNB6ZK9dSNYveFq9LsmXtkdc_SO_nyG-p9L7x36PdbupQUxvxa-80075BUls6o149Z7wM6wY-RJu_Ir5gYN2twQzB5fRWf8O7QFoe875eg-AjkDHZ30T4gJ0_Bfo2BupfrZ_NzPQUJlRmkEOquKx7pu-G0hsh-o89l0zkO6ZT_U8cNMYw0J1Q90Z0bNqTpUdSVAr2nogEjUNm2GmjmfdNE3fk24aaARflHUb526XYl_ZlFYe60Z0kiqnZnbp_scSef7AexWorLWKY_nox7wuCRrhbMrphck2Ox7_Us4a1MEwnpR1CT9sPiMQfbe177cFRNUa3fi_AG0-r_NGhwvQsQzxvP24xvCLdQY63kdPQMfn2W4j_RcAAP__o00Ujw">