From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18553 invoked by alias); 14 Jun 2011 12:34:55 -0000 Received: (qmail 18420 invoked by uid 22791); 14 Jun 2011 12:34:54 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 14 Jun 2011 12:34:39 +0000 From: "jarrydb at cse dot unsw.edu.au" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/49399] [C++0x] substitution failure error X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jarrydb at cse dot unsw.edu.au X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Tue, 14 Jun 2011 12:34:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg01183.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D49399 --- Comment #7 from Jarryd Beck 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 exac= tly what > > the boost library does too, I missed that part in their code, meaning t= hat > > parts of boost no longer compile with gcc 4.7. >=20 > And I know it doesn't, as I said "G++ doesn't accept it because access ch= ecking > is not done as part of the substitution process yet." >=20 > 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 wri= tten using the substituted arguments. [Note: Access checking is not done as part= of the substitution process. =E2=80=94end note]" Should a bug for the reverse also be filed for the C++03 part of gcc? I won= der what boost mpl people would say about a bug report since this actually works even though it's wrong...