<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">