From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9483 invoked by alias); 7 May 2003 00:17:52 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 9468 invoked by uid 48); 7 May 2003 00:17:50 -0000 Date: Wed, 07 May 2003 00:17:00 -0000 Message-ID: <20030507001750.9467.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, notbob@tessellation.com From: giovannibajo@libero.it Reply-To: giovannibajo@libero.it, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, notbob@tessellation.com, gcc-gnats@gcc.gnu.org Subject: Re: c++/10646: [3.3/3.4 regression] non-const reference is incorrectly matched in a "const T" partial specialization X-SW-Source: 2003-05/txt/msg00426.txt.bz2 List-Id: Old Synopsis: is_const treats references and functions as const New Synopsis: [3.3/3.4 regression] non-const reference is incorrectly matched in a "const T" partial specialization State-Changed-From-To: open->analyzed State-Changed-By: bajo State-Changed-When: Wed May 7 00:17:50 2003 State-Changed-Why: The bug for function types is confirmed in 3.2 but it's fixed in 3.3 (20030503) and 3.4 (20030503). It might be fixed in 3.2.3 as well, I don't have that version. There still is a bug with references, though: --------------------------------- template struct is_const { typedef int type; }; template struct is_const {}; is_const::type a; --------------------------------- This should compile (but I'm not 100% sure because this very part of the standard is still a bit misterious for me), and it does on MSVC71 and Comeau/EDG, but fails with GCC 3.3 and 3.4. Since it worked in 2.95, I rate this as a regression. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10646