http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49399

--- Comment #7 from Jarryd Beck <jarrydb at cse dot unsw.edu.au> 2011-06-14 
12:34:35 UTC ---
(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...

Reply via email to