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

    <tr>
        <th>Summary</th>
        <td>
            Crash while trying to use offsetof in template lambda.
        </td>
    </tr>

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

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

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

<pre>
    This code crashes compiler when using clang 15.0.0 but compiles fine under newest versions od gcc and msvc

```cpp
#include <cstdio>
#include <cstddef>

struct Test
{
    int               a  = 1;
    inline static int sa = 2;
};

template< typename T , typename C , typename L >
consteval size_t GetOffsetOf( T C::* ptr , const L& of ){
    C* pClass = nullptr;
    return of(pClass);
}

template< typename T , typename L >
consteval const void* GetOffsetOf( const T* ptr , L ){
 return ptr;
}

#define GET_OFFSET_OF( Type , Member ) GetOffsetOf( &Type::Member  , []<typename T>( T* )->size_t{ return offsetof( T , Member ); } );

int main()
{
    constexpr auto V1 = GET_OFFSET_OF( Test, a );
    constexpr auto V2 = GET_OFFSET_OF( Test, sa );
    printf( "addr: %lld | %lld\n" , (long long)V1 , (long long)V2 );
    return 0;
}
```
Link to compiler explorer:
https://godbolt.org/z/d3dGadf78
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVM9v6zYM_muYC9HAlpLYPvjQOk0P61sPC3Z9kC0m0SZLhiSnr_3rB8lu07TdgAUBrR8U-X2fKArv1dEQ1bC-g_V2IcZwsq5--v3-x2-L1sqXen9SHjsrCTsn_InipB-UJofPJzI4emWO2Glhjpivl9kyw3YMb04eD8oQjkaSQ0PP5AOeyXlljUcr8dh1KIzE3p87yLaQ3c52k03_bhjmFcaV6fQoCYE3nQ9SWeD3_7Yp6XDZTdYHN3YB9-TDvFzcTQNERGUCXv8EIvAt5sCv3HTk44MIqkuHvEhu7N0Niu1lnGygftAiEPAGw8tARvSEewT2YdpcTx_xHX1njQ90Fhq9eqWfAR8oPB0OPlpgJe6xAX4b_-wWh-BSoHQIH4Ft0B4QWHVFtkmujRbeJ_Bm1HoI7oqpozA6gzbmmFxjlI8k_yfDbylNOM9WyQjpE7Npc_-R1-M1lxnkR-yfkAHjklINPtzvfz7tdn-kTxLuZaAU9Af1LcX41WcEwDbRa9J3dktHpucCvLmwjexi1AgXWHUD_H66MCjuLmrG2Ha-t-vcwO8Qii1eyZxsLLNeKAOsjJtfi3fS89fgUIzB4p95utWvhGPpswbFVY7vArD_DuC_RhicMmHWjAkpHfAow1priVA08xDWjQHGJglZqa05YjTAqgj6m1X2JdMsZfbNjb81jWn6qMzfGOylX9GvQVtHEdrkcQph8Onl7IDtjla2VoeldUdgu1dgO8nlg5CHolzImsuKV2JBdb4pinzD83W2ONVFVZasYKykoizyctWu1kUrCl4e2q6Vm81C1SxjPGOM5yte5dlyVeVSdHxDlVhJsepglVEvlF5qfe5j7oXyfqR6k1XrfKFFS9qn7syYoWdMm8BYbNaujmdu2vHoYZVp5YO_RAkqaKqb2LPx-aQ0YXAvsVUHi6On91JEZfDt-aIWfSvFcjE6XX8SR4XT2C472wPbxSTz52Zw9i_qArBdguaB7RL0fwIAAP__f5jaJQ">