https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86299

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to zhonghao from comment #0)
> The code seems to be invalid, but g++ accept the code. In fact, a previous
> version of clang++ also accepts it, but was fixed in
> https://bugs.llvm.org/show_bug.cgi?id=7385

No, it looks like Clang used to crash, not accept it. It's not helpful to
misrepresent the problem.

> 
> The latest clang++ produces the following error message:
> error: no member named 'value' in 'has_xxx0<int>::has_xxx0_introspect<int>'
>       static const int value = has_xxx0_introspect<int>::value;
>                                ~~~~~~~~~~~~~~~~~~~~~~~~~~^

Every version for a decade produces that error.

G++ also gives an error if you try to use the value member, which is all the
standard requires. Errors in uninstantiated templates are not required to be
diagnosed.

Reply via email to