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

    <tr>
        <th>Summary</th>
        <td>
            Dependant function lookup into a superclass via CRTP fails
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          apache-hb
      </td>
    </tr>
</table>

<pre>
    ```cpp
#include <cstdio>

template<typename T>
struct BaseClass {
    void doThing() {
        this->thing();
    }
};

class ChildClass : public BaseClass<ChildClass> {
    void thing() {
 std::printf("a\n");
    }
};
```
Clang issues: `no member named 'thing' in 'BaseClass<T>'`.
`doThing()` should not be instantiated until `ChildClass::doThing` is invoked, this appears to be a regression.

https://godbolt.org/z/fvKd5hbon
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU8GOqzgQ_Jrm0krktAMkBw4ZMrnsZbWaHzC2Cd5xbAs3Wc1-_RMkM8k8zeEhZGRV01Wuaquc3TlY20D5AuWxUBMPcWxUUnqwq6Erumg-GqjE7dUpgTiCOABJF7SfjEWQrc5sXAT5egeXle0lecUWZMsfyQZ1sfj2VZN5nDTji8q29SpnhPrlhiAiXqMzaOLb4MIZaAe0_47PDw8ur0C-8qMI5FMN1Me7nPr4BdxWvTC2g_PmTi4PmKbOO_1QBLJ9VIB8_UEh_6gvswF5AHlIowvcLzgpKNsARH-m8tPv27b1KpzR5TzZPCuFSoSIF3vp7IizrwaB6ruYGl2Yt8_nWGynGiqx_iL45i5UAvMQJ28wRMbOoguZVWCn2BqcAjs_0z4bMp_ws0kl0GV04RrfrQFql3BQpWTVmJHj3FHhaM-jzdnFsH5OY2BOSz86AZ3O0XTR8zqOZ6DT_0Cn_vqXKYcuhsI00uzlXhW22dSbqi7LrSiLoREdCb2rSJPedZXuqdzK7b6ketMrqjsqXEOCtqKkioQUolzvernXivoNVTur5Qa2wl6U82vvr5eZu1jsbvZyS2XhVWd9Xu4IUbD_3bKY0yyPxdjM_6y66ZxhK7zLnB9d2LG3zdEmG4wKjP0UNLsY0Mf4PiV0gSMqzFOy420qr05h-8_b39gr53Mxjb75zSDHw9StdbwAnWai-2eVxviv1Qx0uo8KnW7yrw39CgAA___mzSk0">