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

    <tr>
        <th>Summary</th>
        <td>
            Internal error when parsing type alias member template using dependent keyword, overload resolution, and SFINAE
        </td>
    </tr>

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

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

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

<pre>
    Not sure what&rsquo;s really going on here to be honest, but here&rsquo;s the crash report:
```
clang version 16.0.4
Target: x86_64-w64-windows-gnu
Thread model: posix
```
📑 **main.cpp**
```cpp
#include <cstddef>

/* ... */
struct object {
  template <typename, typename>
  using value = int;
};

// ...
template <typename baseA, typename baseB>
struct diagnose final {
  template <class trait, std::size_t arity>
  static auto is_object(std::nullptr_t, bool (*)[
    arity == 0u &&
    sizeof(trait::value)
  ] = nullptr) -> bool (&)[true + 1];

  template <class trait, std::size_t arity>
  static auto is_object(std::nullptr_t, bool (*)[
    arity == 1u &&
    sizeof(trait::template value<baseA*>)
  ] = nullptr) -> bool (&)[true + 1];

  template <class trait, std::size_t arity>
  static auto is_object(std::nullptr_t, bool (*)[
    arity == 2u &&
    sizeof(trait::template value<baseA*, baseB*>)
  ] = nullptr) -> bool (&)[true + 1];

  template <class, std::size_t>
  static auto is_object(...) -> bool (&)[false + 1];
};

/* Main */
int main(int, char*[]) /* noexcept */ {
  static_assert((
    sizeof(bool (&)[false + 1]) ==
    sizeof(diagnose<int, int>::template is_object<object, 0u>(nullptr))
  ), "static_error");
}
```
📝 **[trace.log](https://github.com/llvm/llvm-project/files/11728705/trace.log)**
```
clang++ -cc1 -triple x86_64-w64-windows-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -mms-bitfields -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb "-fcoverage-compilation-dir=C:/LapysDev/main/Lapys C++" -resource-dir C:/Msys2/mingw64/lib/clang/16 "-IC:\\Program Files (x86)\\Intel\\oneAPI\\tbb\\latest\\env\\..\\include" "-IC:\\Program Files (x86)\\Intel\\oneAPI\\dev-utilities\\latest\\include" "-IC:\\Program Files (x86)\\Intel\\oneAPI\\compiler\\latest\\windows\\include" "-IC:\\Program Files (x86)\\Intel\\oneAPI\\compiler\\latest\\windows\\compiler\\include" "-IC:\\Program Files (x86)\\Intel\\oneAPI\\compiler\\latest\\windows\\compiler\\include\\intel64" -I. -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++ -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++/backward -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++/13.1.0 -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++/13.1.0/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include/c++/13.1.0/backward -internal-isystem C:/Msys2/mingw64/include/c++/13.1.0 -internal-isystem C:/Msys2/mingw64/include/c++/13.1.0/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/include/c++/13.1.0/backward -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++ -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/backward -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1.0 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1.0/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1.0/backward -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13.1/backward -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13/x86_64-w64-mingw32 -internal-isystem C:/Msys2/mingw64/lib/gcc/x86_64-w64-mingw32/13.1.0/include/g++-v13/backward -internal-isystem C:/Msys2/mingw64/lib/clang/16/include -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/include -internal-isystem C:/Msys2/mingw64/x86_64-w64-mingw32/usr/include -internal-isystem C:/Msys2/mingw64/include -Wall -Werror -Wextra -pedantic-errors -std=c++14 -fdeprecated-macro "-fdebug-compilation-dir=C:/LapysDev/main/Lapys C++" -ferror-limit 19 -fmessage-length=203 -fno-use-cxa-atexit -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -exception-model=seh -fcolor-diagnostics -faddrsig -o main.o -x c++ main.cpp
1. main.cpp:38:70: current parser token ')'
2. main.cpp:35:39: parsing function body 'main'
3. main.cpp:35:39: in compound statement ('{}')
Exception Code: 0xC0000005
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWV9vIykS_zTkpYTVTfvvgx8ceyxFul2tdCft44iG6jY7NPQB7dj36U9A287MJNo_ySSrHXliGqiqHz-KoqvMvVetQVyT2T2Z7e74EA7Wrf_F-7Pf4fGutvK8_tkG8INDeDzwQNjc-f8OllT3Hhxyrc_QWmVasAYO6BCChRrhYA36QNgW6iGkga8kwwFBOO4P4LC3LpBqQ4odKTZkXoyf9Cg0Ny0c0XllDZTzSTGZ5pH_cNdilIPTcv55PqWP8b8y0j562pphnHVwyCV0VqKOc3vr1elZS2RfkNWerCqyKoGwDWGbjiszEX2fn76Riv25h1XKCD1IBFJthQ9SYkOqT-PoOGdP2AYmk0lWvc_dPrhBBLD1bygCkMV97gYI2PWah6QxnHs0vMPI5bV9UQ8w-Ej-keshzt6BMoFUoyKy2N3aNyD7CCQ_P2cIau5x89Rc6rm_Gh1hS8VbYz1CowzXL8EXmnsPwXGVvMEHGfe62nj1P_wcgDsVzk-W4wMPSgAfggXlP2dqCFte5cygdR_c5-xb1mogbJlIXUUnHtVAVhwZiaQUAxA2j5_reLRvG8KWGVrSnViMisZZZLZLnI42CVsBJdWnJ2bn2WxwkX12DyWZfUv535CO8o_RccWdeam2o2NsIsB_PkvstSxFW-ngvBdjz3D1B1iKweBFBA3X_jkIz0eWDfzElfkqxikTIAZSwpYxNLEtiAN3cUa6cqLlUdRYPAnswyj-NKBk6J-59-hCgrd8ZlN-D3w0lbb2GdlLMCPVdoSZAumnb_b4xlu1vRC4hWJI-7u87efTzY5PWyCMjatA56wjjMWBp3z-zq20G2-l5BZc4ETbNq1qeQih9xFoCu6tCoehngjbEbbX-nj5or2zGfC-URo9YfuyXLDlopgRtr-pjHCfue-e3MeE3UdOqRAl0OBUr_GFSxgodipQW_8GtHOo-YlyrYFK5XmtkTYOEajQyB3lPtAaG-uQ1lx8QSNv8xL-IzrVKHSpW3AnaTpxNN5QHmh0MhpXljrgcnlnw1bwoKyh6UUAeiWA9kpQjUfUwIB2jeMd0t4qE9CRamesQaBNx8OBonPGAm2angprIlOBVDtrgDbGUmcHI5VpaZwLtBPW5AvSOsq14j6B6zytVWgUaumBNoOJLNEQV-dJtWNAQ3qhoaIfIpl0PgUaBoOpo0WDLoLuIhORdOSBesF1plGdUNLkV5R7-sidiS8FVGI9tC26qEiZllS7VtbRE2kj7BEdb5EK2_VKZ3akikvfZle6vAQSts_nN_fANm8_YQyoQ28HJzBKwij3kz97FoWUaR_n0-h9qiZsP7rOvpwnBA9p-mxLZttfnG0d72Af3TIe4NMyH-A4-GAC6ty0Bje_POR2qOvciMfSh9xGc8yNySR_jy9mEesb2JR4pENQWgWF_nvrb2ss7wu67-2M5-sDjX497W8EYXwIqKPjMaAPE6DpSBuuqfJnH7B72VGfBLHUWcXh6_L24hL43lrjsxN_iJkYWR-5kz9EeVlNyknxA1W_H09Xe3-FsLfh5gfS8OYrzhG-FeIljq_aX3WaXmHm1Zy9zvZ7kTq-m9Hjn_e3NzD3ISR_j-FDyH5XYx9P9MfQ_I6mPpriVxF8e9e-qX-re_LVegbv_pq2q8ivKYn8NSU88fsUHAfao-QmKJETIQ80lUJ2YxAup0Abib1DwQNK2nHhbM6FUpr0ukSoycmXVp0KUK5i5ojex_xKo2nDIaZ4RZUTxsEjFSdOecCTCkCb1gyCjjVuUu2mExbDSSNOJ5orIsqamDQ-fbi26Vjb3nk8RCGrraNjNSMoEeW4lM6rFqjNWbEFeoLL9Xstcqf8vpzcOqpNtSTVZlGQagNicA5NgJ47jw6C_YIGCFukcsEiC7OvhWfxzypV3blLVepmMCJihtrKc5TOfI7i1UviykDcnJhnp0oQdhFJKvQsyOKeLHYjkKTm04UZ2FqJUb44bYv0b_ZNTeNOriu5qlb8DtflfDmfF4tVtbw7rItmKsuiLOIYlrKeLpvpSq64YCs2nzXiTq1ZwapiXjLGSlYuJ_O6XMx4U0m2qoop42RaYMeVnsSEfWJde6e8H3A9r9hieqd5jdqnX10YM_gIaZAwRma7O7dO5Y56aD2ZFlr54G9aggoa1w_jmYF8BB4PaK4kh3OPkAoP0GFXx826VK_ybwUSezQyUvgFz4_WScK2YI_otOUSYkqvh8hf7OZGwr_3Dz9vPt0NTq__dKUprcsTtk_r_n8AAAD__9OW9B8">