http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49399
--- Comment #8 from Jarryd Beck <jarrydb at cse dot unsw.edu.au> 2011-06-14 12:35:31 UTC --- (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #4) > > > Ah, I see. Well the example you gave also doesn't compile. This is > > > exactly what > > > the boost library does too, I missed that part in their code, meaning that > > > parts of boost no longer compile with gcc 4.7. > > > > And I know it doesn't, as I said "G++ doesn't accept it because access > > checking > > is not done as part of the substitution process yet." > > > > Even when that's done, it will only be valid C++0x not, C++03. > > Ok, I thought that was what you meant. Does this however mean that this bug is > now valid for C++0x, given what they say in the link that you gave? > > "If a substitution results in an invalid type or expression, type deduction > fails. An invalid type or expression is one that would be ill-formed if > written > using the substituted arguments. [Note: Access checking is not done as part of > the substitution process. —end note]" > > Should a bug for the reverse also be filed for the C++03 part of gcc? I wonder > what boost mpl people would say about a bug report since this actually works > even though it's wrong... Sorry that should be access checking is done. This text entry didn't preserve the strike through of the not.