220 5315 <CAEn_SPJEqvoYBu9Ed8atag_iKsTnwjymWG4cDm__ivtHrJJx9Q@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Martinho Fernandes <martinho.fernandes@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Overloaded Declarators
Date: Sat, 6 Jul 2013 19:16:52 +0200
Lines: 35
Approved: news@gmane.org
Message-ID: <CAEn_SPJEqvoYBu9Ed8atag_iKsTnwjymWG4cDm__ivtHrJJx9Q@mail.gmail.com>
References: <82b89c5e-ce4e-49c0-82b2-d6032631e3e3@isocpp.org>
	<CAEn_SP+DOsLN5NezjN-OvPoDfiyMEWYzXBzKhjJ88NB_-TnyOw@mail.gmail.com>
	<6ed86280-bff9-4dc5-bef3-28be8981770b@isocpp.org>
	<CAEn_SP+jA2r6OjupsbkBDQpuPxZTJP-HFtBp-XBasf+LuA8psA@mail.gmail.com>
	<3ab6aadf-3c8b-4054-87bb-9db8a786f847@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
X-Trace: ger.gmane.org 1373131016 30798 80.91.229.3 (6 Jul 2013 17:16:56 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Sat, 6 Jul 2013 17:16:56 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBDXL3FEUYQARBBFC4GHAKGQEFAE4X2A@isocpp.org Sat Jul 06 19:16:56 2013
Return-path: <std-proposals+bncBDXL3FEUYQARBBFC4GHAKGQEFAE4X2A@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-gg0-f199.google.com ([209.85.161.199])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDXL3FEUYQARBBFC4GHAKGQEFAE4X2A@isocpp.org>)
	id 1UvW6R-0001Ly-Sb
	for gclcip-std-proposals@m.gmane.org; Sat, 06 Jul 2013 19:16:56 +0200
Original-Received: by mail-gg0-f199.google.com with SMTP id o1sf3554546ggn.10
        for <gclcip-std-proposals@m.gmane.org>; Sat, 06 Jul 2013 10:16:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-beenthere:mime-version:in-reply-to:references:date:message-id
         :subject:from:to:x-original-sender:x-original-authentication-results
         :reply-to:precedence:mailing-list:list-id:x-google-group-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe
         :content-type;
        bh=NbA/oDg1/x2YwDgdXrpmFjrQ9GGfjIiHNKZV0SZcHR4=;
        b=ZoIrGtVRReANWerES93/wnlhQtQOqOdCho/j583JTsVU8ytTJr2jp72KKipKBvC3tZ
         N/Pwmwc3aUVbFKQACVdN/eETzJB9ChE2Y6lWIsuByHUekJ/tBF6BQza3oX0dmvsUwjCT
         gcYuT97s1k/Hnv2FTzlpcYjUE1f18RoXVePRmKJGGb64h+8XerEQkl9uhwPpK4H6QUyq
         Hdyho7Dsjdkc8O7jn+Z0kZyVjvi/kN7dZAyhtg/RQvzmL1DLILWJGPXV7QKeQQf6eiom
         HYghH4QgUjDbsq1AHZH7fqgo+2PyS/dYi12W5yQmlIn3b37yzBZAlMB8/gTxwG3ZUDAg
         Fo9g==
X-Received: by 10.236.124.78 with SMTP id w54mr7659727yhh.44.1373131014880;
        Sat, 06 Jul 2013 10:16:54 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.49.107.129 with SMTP id hc1ls1371395qeb.78.gmail; Sat, 06 Jul
 2013 10:16:52 -0700 (PDT)
X-Received: by 10.224.63.7 with SMTP id z7mr11835959qah.51.1373131012727;
        Sat, 06 Jul 2013 10:16:52 -0700 (PDT)
Original-Received: from mail-qe0-x22d.google.com (mail-qe0-x22d.google.com [2607:f8b0:400d:c02::22d])
        by mx.google.com with ESMTPS id v5si993051qag.186.2013.07.06.10.16.52
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Sat, 06 Jul 2013 10:16:52 -0700 (PDT)
Received-SPF: pass (google.com: domain of martinho.fernandes@gmail.com designates 2607:f8b0:400d:c02::22d as permitted sender) client-ip=2607:f8b0:400d:c02::22d;
Original-Received: by mail-qe0-f45.google.com with SMTP id w7so1673562qeb.4
        for <std-proposals@isocpp.org>; Sat, 06 Jul 2013 10:16:52 -0700 (PDT)
X-Received: by 10.224.151.196 with SMTP id d4mr11385180qaw.30.1373131012634;
 Sat, 06 Jul 2013 10:16:52 -0700 (PDT)
Original-Received: by 10.49.94.238 with HTTP; Sat, 6 Jul 2013 10:16:52 -0700 (PDT)
In-Reply-To: <3ab6aadf-3c8b-4054-87bb-9db8a786f847@isocpp.org>
X-Original-Sender: martinho.fernandes@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of martinho.fernandes@gmail.com designates 2607:f8b0:400d:c02::22d as
 permitted sender) smtp.mail=martinho.fernandes@gmail.com;       dkim=pass header.i=@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:5315
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/5315>

On Sat, Jul 6, 2013 at 9:23 AM,  <andrewtomazos@gmail.com> wrote:
>
> Have you understood that the declarator meaning is only overloaded for the
> user-defined set of types nominated by the declarator overload declaration
> (for example just for one class, or one hierarchy of classes)?  The
> suggestion is not to overload the meaning of the declarator in general.

Yes, I have understood that. It changes nothing.

You need to realise that in C++ there is already existing code that
uses *classes that haven't written yet*. That code was written under
the assumption that T* is a pointer and not some other thing that
isn't quite compatible with pointers. That code will break.

The overloadable unary operator& has been there since the beginning.
Existing code that uses &x when it should be using boost::addressof(x)
or any other variant of that *was broken already* before
std::addressof was introduced (exercise for the reader: figure out why
std::addressof was introduced).

Under the light of that, and unless you want to argue that all generic
code that used T*, T(U...), T[N], T&, or T&& anywhere to this day is
broken, this change is a terrible idea that will break a lot existing
code.

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.



.
