http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48940
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-05-10 10:07:53 UTC --- (In reply to comment #2) > Sorry to be cryptic as to the part of the standard I was talking about. Yes, > I > was referring to report 391/589. > > Yes, I agree that g++ should not issue an error for this file running in C++03 > mode. (I assume you mean C++0x here) DR 391 was resolved in 2005 and G++'s behaviour was changed intentionally, see PR 25950 > What I am filing a bug about is that g++ used to issue an error running in > C++98 mode, and now g++ does not issue an error running in C++98 mode. I > claim > that it should issue an error, because I understood issue the defect reports > only to affect the C++03 standardization. Is this correct? Technically yes, but the intent of the committee is that it should work, and implementing that is more useful for users. Does it actually serve any advantage to reject the code, other than strict conformance? With extended SFINAE in C++0x you could make use of it, but the code is valid in C++0x, and extended SFINAE isn't part of C++98. There are lots of DRs that G++ implements, counter to the exact wording in C++98 or C++03. Jason, as the author of the fix for PR 25950, do you have an opinion?