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.

Reply via email to