220 11094 <E2FCEA69-D92A-4915-9409-603E74698DE5@gmail.com> article
Path: news.gmane.org!not-for-mail
From: David Krauss <potswa@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Core Issue: deleted templates
Date: Fri, 6 Jun 2014 06:04:36 +0800
Lines: 40
Approved: news@gmane.org
Message-ID: <E2FCEA69-D92A-4915-9409-603E74698DE5@gmail.com>
References: <a95232ae-71bc-41cc-ad52-511fa4aab43a@isocpp.org> <9f5782b9-8ba4-4be6-a874-326df936ff24@isocpp.org> <a81737d9-abec-4293-a6de-145ce9a9124e@isocpp.org> <CAFk2RUYXVgCre8Zu1QhV1d93Nw4mesRx97yF8N65fntiJvCoAg@mail.gmail.com> <600874ab-714d-46c8-8bce-e1fb5c18f6e0@isocpp.org> <CAFk2RUYLzEaT0Dnh_bQ=WRJLEkb+40K2H6g0k2g5snF18bhmcA@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\))
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: ger.gmane.org 1402005897 2268 80.91.229.3 (5 Jun 2014 22:04:57 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 5 Jun 2014 22:04:57 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCW25A7E3QCRB7WSYOOAKGQELWHO63I@isocpp.org Fri Jun 06 00:04:48 2014
Return-path: <std-proposals+bncBCW25A7E3QCRB7WSYOOAKGQELWHO63I@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-ie0-f200.google.com ([209.85.223.200])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCW25A7E3QCRB7WSYOOAKGQELWHO63I@isocpp.org>)
	id 1WsfmB-00026u-NC
	for gclcip-std-proposals@m.gmane.org; Fri, 06 Jun 2014 00:04:48 +0200
Original-Received: by mail-ie0-f200.google.com with SMTP id y20sf7174614ier.3
        for <gclcip-std-proposals@m.gmane.org>; Thu, 05 Jun 2014 15:04:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:subject:from:in-reply-to:date
         :message-id:references:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe:content-type:content-transfer-encoding;
        bh=7sPDpQk772TtpNl3PDMaStgorw0QUbD7lomkLmFcPhU=;
        b=YsoRUXtzlynH7SGPEozFcMFUrh96vcdXvfzIS/7IOZYQf7kET4Q3LZ5XLeYw2J7sOL
         rdXA925QPqSFHggWTI33tgpSViKQtZkldjvN9xohhMODTasB7KmEGMLA6Q4PQG+8DGRi
         eBXBXYSIWAsrwYV8KY4c7wbpU0P1sK8s4i0jb0dOfXS3yPz4wybaBCmYwWUJKvNsX17h
         c5ZOSl5rxogumVB4NEZveTeMLToUrPcXk6+jVrx5M+xFtIeJg/yBe2837pd6L0eGU1ox
         4At4c7PQIW1UWGY2zaVJq+iDp8TmtojgBhUH/IyF/9H0J/ENOT8O6zUBkvBJGtRnSqs8
         7j1w==
X-Gm-Message-State: ALoCoQly448hAqNMoKanjH96aD/agJMAJxziHfbR7P4hC2eyFruLC/ORfiOgcc6Yt090ICcUusr3
X-Received: by 10.43.65.4 with SMTP id xk4mr412774icb.12.1402005886779;
        Thu, 05 Jun 2014 15:04:46 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.50.138.98 with SMTP id qp2ls1332084igb.41.canary; Thu, 05 Jun
 2014 15:04:46 -0700 (PDT)
X-Received: by 10.68.102.34 with SMTP id fl2mr1126784pbb.2.1402005885996;
        Thu, 05 Jun 2014 15:04:45 -0700 (PDT)
Original-Received: from mail-pb0-x232.google.com (mail-pb0-x232.google.com [2607:f8b0:400e:c01::232])
        by mx.google.com with ESMTPS id zs3si15478952pbc.31.2014.06.05.15.04.45
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Thu, 05 Jun 2014 15:04:45 -0700 (PDT)
Received-SPF: pass (google.com: domain of potswa@gmail.com designates 2607:f8b0:400e:c01::232 as permitted sender) client-ip=2607:f8b0:400e:c01::232;
Original-Received: by mail-pb0-f50.google.com with SMTP id ma3so1690635pbc.37
        for <std-proposals@isocpp.org>; Thu, 05 Jun 2014 15:04:45 -0700 (PDT)
X-Received: by 10.68.201.10 with SMTP id jw10mr834206pbc.25.1402005885734;
        Thu, 05 Jun 2014 15:04:45 -0700 (PDT)
Original-Received: from [172.20.10.2] ([121.54.54.38])
        by mx.google.com with ESMTPSA id bz4sm27275521pbb.12.2014.06.05.15.04.44
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
        Thu, 05 Jun 2014 15:04:45 -0700 (PDT)
In-Reply-To: <CAFk2RUYLzEaT0Dnh_bQ=WRJLEkb+40K2H6g0k2g5snF18bhmcA@mail.gmail.com>
X-Mailer: Apple Mail (2.1878.2)
X-Original-Sender: potswa@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of potswa@gmail.com designates 2607:f8b0:400e:c01::232 as permitted
 sender) smtp.mail=potswa@gmail.com;       dkim=pass header.i=@gmail.com;
       dmarc=pass (p=NONE dis=NONE) header.from=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:11094
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/11094>


On 2014-06-05, at 8:31 PM, Ville Voutilainen <ville.voutilainen@gmail.com> =
wrote:

> and regarding the earlier question about pointers and references,
> I think we should do what we do with deleted functions, aka make uses of =
such
> deleted things ill-formed. That means you can't use thisandthat* or thisa=
ndthat&
> either.

As I mentioned earlier, too many inconsistencies arise from the ability to =
define pointers and references after the class is declared and before the d=
efinition as deleted. The easiest thing is to let definition as deleted be =
permanently incomplete, and this satisfies more uses too.

To be consistent with functions, merely forming a template-id resolving to =
a deleted specialization would be ill-formed, but template-ids are presentl=
y more or less free. 14.5.5.1 says

> When a class template is used in a context that requires an instantiation=
 of the class, it is necessary to determine whether the instantiation is to=
 be generated using the primary template or one of the partial specializati=
ons.

I don't have a definitive reference that it's OK to use a template-id befor=
e declaring its partial/explicit specialization, but I think it is (and it =
should be).

--=20

---=20
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 e=
mail 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-proposa=
ls/.

.
