From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19982 invoked by alias); 13 Jan 2003 22:00:00 -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 19940 invoked by uid 61); 13 Jan 2003 21:59:59 -0000 Date: Mon, 13 Jan 2003 22:00:00 -0000 Message-ID: <20030113215959.19939.qmail@sources.redhat.com> To: dave@boost-consulting.com, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org From: bangerth@dealii.org Reply-To: bangerth@dealii.org, dave@boost-consulting.com, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c++/9278: Illegal use of typedef to "void" X-SW-Source: 2003-01/txt/msg00839.txt.bz2 List-Id: Old Synopsis: dependent type in conversion operator bug New Synopsis: Illegal use of typedef to "void" State-Changed-From-To: analyzed->open State-Changed-By: bangerth State-Changed-When: Mon Jan 13 13:59:57 2003 State-Changed-Why: Given the mail by Dave, the original code was in error, and the converse held. So this is what should _not_ compile, but does, according to him. (It does so since at least 2.95.) I think I have no idea myself whether this is legal or not, I did not even know whether one can typedef void... ---------------------------- struct voidify { typedef void type; }; struct X { operator int (voidify::type) const { return 1; } }; X x; --------------------- http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9278