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

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to frankhb1989 from comment #5)
> Mainly for testing of the conformance.

I don't understand what this means. Testing what? G++? G++ does not exist for
you to test its conformance to a standard. Most users don't care about slavish
conformance to a defective specification, they want a useful compiler.

> Although it is treated a defect of
> the design and has been changed later, the old rules are still well-defined
> and the published standard itself is consistent. So if I did not get wrong
> about the purpose of '-std=', this should be a bug. Whether it is worth
> being fixed is another problem.

You are wrong about how -std options work. We incorporate dozens of DRs into
all modes, instead of making them only apply to later standard modes.

> On the other hand, I'd debate the resolution of this CWG issue is not pure
> improvement. There could be a trick to distinguish static and non-static
> data members through SFINAE on expressions like 'sizeof(&(C::x))'. It is
> broken now.

SFINAE in C++03 was not nearly as useful, and doesn't work for private members.
The language is more useful now, there is no reason to hobble it with a foolish
consistency to a defective design.

Not a bug.

Reply via email to