This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49399] [C++0x] substitution failure error
- From: "jarrydb at cse dot unsw.edu.au" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 14 Jun 2011 12:34:39 +0000
- Subject: [Bug c++/49399] [C++0x] substitution failure error
- Auto-submitted: auto-generated
- References: <bug-49399-4@http.gcc.gnu.org/bugzilla/>
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...