http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53494
--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-05-28 16:11:29 UTC --- "correctly rejects it" in general means "per the ISO C++ Standard, which we are implementing, the testcase is invalid with diagnostics required, thus the compiler is right in rejecting it", thus it doesn't have anything to do with providing a better, more informative, error message. Just to clarify. And indeed, I think Jon's analysis is correct. Maybe Daniel has something to add.