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

    <tr>
        <th>Summary</th>
        <td>
            Clang shouldn't error on `override` if the base class instantiation failed due to a `static_assert()`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:diagnostics
      </td>
    </tr>

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

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

<pre>
    Reproducer: [(Godbolt)](https://godbolt.org/z/Y68cG9aTj)
```c++
#include <type_traits>

template <class T>
struct B {
  static_assert(std::is_integral_v<T>, "only integral types are allowed");
  virtual ~B();
};

template <class T>
struct D : B<T> {
  ~D() override; // clang errors here with "only virtual member functions can be marked 'override'"
};

int main() {
  D<int*>();
}
```
The diagnostic is wrong, since the override is correct and the actual problem is that a `static_assert` failed.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNU8lu2zAQ_RrqMqghUdbigw5e0tyLXHoyKHIsMaFJg6QcpF_foeQ46QYUoBZqnmbeezPsnXrrvuHFOzVJ9KzcAqt2jLePTvXORMY3rDrQfozxEijM-FdawxJdOT_Q7gdd3-tWPm7E03P6Iz-wfMvqfFmS8V1ay1deaivNpBBYuY9vFzxGL3Sk3A83xHyPeL4YEWeUNCIEeLojQvSTjLAD1tyyAoQoopZHAqIn1m2IKrEttzoctY04eGGOV0o2p-F7YJw7a97gPQiJSwDhEYQx7hUVIZKY8l7jqn2cCMmah2TR5yBrDh_v_yvgAMnv3Y3UZzVU4bBUAHdF77VCSg-L-UDp7AD02fkAIxLjVx3Hu6J3mmc89-jhNFkZtbMBpLDQI5yFf0FF8OaemzdJ7D-UkEP0j7Y3Qp9oEnJPUca3s6l_OPLrHCzbpxFBaTFYF6hhoAO8emeH1JJAk4EQCfBOLIWl8x7JLWHVHBNyVkcj2xs8J0QcBYWBSvw6BXUOJ6ENqlWGXVHXxbqsi6LKVFeqTbkRWdTRYLef7Qyjm4wikU1crAVnU8q7R5RNn2YGvQgIS0-1pZI2apEcvlUDNZEK9zdGi0V1nk3edL8dKWrh1K-kO9PGmOv74wsJfSb9tNUhTBjopWrKqs3Gjlct1qpdS7kueF3UzbpvTuWpzTebzYnXfWZEjyZ085Hm89hQvQ_3Q-p6dch0x3PO85ZXxTovqmrF87zhteCNLNp-XdVsnSONgFklRunUZ76byfXTEChodIjhI0hq9WAR58KUX0xxdL67jNpY_dI0TTZL6WYdPwH0613g">