<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72752>72752</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
One value has two types
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kelbon
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/Yh3aEb8Kh
I know, there are standard issue with type of 'j' in lambda, but current behavior is completelly incorrect
```cpp
#include <type_traits>
int main()
{
int i, &j = i;
[=]
{
static_assert(std::is_same_v<decltype(j), int&>
&& std::is_same_v<decltype((((j)))),const int&>);
}();
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEUk2P2jAQ_TWTy2hRMiZfhxx2YSNVPfTcE7KdgZh1YmQ7oO2vrwyU0qpSo5ETvcm89zx6MgRzmJk7KN-g3GZyiaPz3Qdb5eZMueGzG2M8BRCvQD1Qf3CDcjaunD8A9T-A-u-jkO-q-TpCvoX89XZ-wY_ZXYA2GEf2jNIzhijnQfoBTQgL48XEEePnidHtEag-AtVoZrRyUoNMo2qJqBfveY6oeJRn4zyagNpNJ8uRrf1EM2vnPev4rA5Vfit9Ov2B304SZtZ2GRhBbJKDXfTSxADi_fk_M0ecpJmBGqD23qnfbh-IqW2STaDqiCC2aEA8ummfYgvl9gE8JkOU0eidDIF9BGpCHNJ6xasJuyAn3p1BbAbWNlkDao5JnTZJEKh6mMT0JIAq_B_Fo25cj9poN4f4xEzt8x3q7f3uv7CE_GvP2dCJoRWtzLgr6jwXtC6bMhu7vKFBF0Vbr2vmvdoLrVROUlV1LigXMjMd5SSKomiKikRerspm35Y179tqrXWrJaxznqSxK2vPU4pddo1PV1NdUmalYhuu6SWa-XLLFhClMPsuzbyo5RBgnVsTYvjNEk203H2bGc_SLoyjDBgv7prIkC3e_h18E8dFrbSbgPrEcn-9nLw7pvxRf9UOQP3V288AAAD__2i4-lA">