https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116888
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #2)
> I think this is "ill-formed; no diagnostic required".
Note we reject:
```
template <class T> void d() {}
template <class T> struct Test1 {
template <class U, class = void> struct Helper {};
template <class U> struct Helper<U, decltype(d<T>(1))>{};
};
Test1<int>::Helper<int, int> a;
```
With an odd message though:
```
<source>:10:32: error: aggregate 'Test1<int>::Helper<int, int> a' has
incomplete type and cannot be defined
```
So there is at least a diagnostic issue here.