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

    <tr>
        <th>Summary</th>
        <td>
            Error messages for missing template arguments can be improved
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          jeremy-rifkin
      </td>
    </tr>
</table>

<pre>
    ```cpp
namespace ns {
    template<int = 1>
    struct S {
        void foo() {}
    };
}

void foo(ns::S<1>& s) {
    s.ns::S::foo();
    s.ns::S::~S();
}

/*
<source>:9:11: error: 'S' is not a class, namespace, or enumeration
    s.ns::S::foo();
          ^
<source>:3:12: note: 'S' declared here
    struct S {
           ^
<source>:10:11: error: 'S' is not a class, namespace, or enumeration
    s.ns::S::~S();
          ^
<source>:3:12: note: 'S' declared here
    struct S {
           ^
2 errors generated.
Compiler returned: 1
*/
```

https://godbolt.org/z/89fbbWhhh

It'd be great if the diagnostic could indicate the error is missing parameters to a class template
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFk0uP3CAMxz8NuVg7ysAkmRxymJ2H1PMeeibgSdgmEAHZqv30NZnOo6tV1R6qojwgxvbvH5vW6W8NK_PLpaaJ5QeW76wcMUxSIdgArHq-fAUaEcdpkBGZ2BsbgYkDrJk43jeE6GcV4eVXtzTenNFwdo7xLeP1Yq8O9y1pIX663AyX54OnDUzs6HohgCUxLyFcw90hVg_70uuW9pbiw22sOr682_cOhfET49e52Ac3e4WJQ-zIZ7cmph2g986nCeMVxavABLAuggQ1yEC4e7j94bRwHtDOI3oZjbN_LeMyWHH8EEskLJ5oCAEfqTQSjkcNPXr8kwr-Jss6__fqP6jOf5PPLzIDdGgTOerVxbB342QG9OAxzt6iTinX1-ZZ-ucyvx66x-7qY5wWzanLTp3TrRviyvmOVt_p3tbntv3c9_2j06dIajS0CJ1HGcGcIfYI2sjOuhCNAuXmQYOx2igiXawLfarMaEIwtoNJeipKRJIU3bVWt-Oe6UboWtQyiyYO2BwXdypikB0GOpv-FujqAtJ3VFUbAyhpE54ZJ-_eUGezH5p3Uk3s53al3EiLYXi7vp7I4xUVKTxR-Bmpe05FseU865t1XW5qUcpSKV5siirnWmleCyHKLfKKZ4NscQgNK54Z5xa_whKC5qw4ZKbhOed5mfM836xFtdoozEtUqlZlIXmObJPjKM2wShypBplvFqR27gIZBxNiuBvpb5nOIi7pKL6cY-9880q9NX578ub8xdhsAWgWAT8AR76LOA">