220 29560 <CAGg_6+Nkv4oNaA8FuA68VQCEzfqnVM3A1ZBSxt2NOtsUgDB1gQ@mail.gmail.com> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nevin Liber <nevin@eviloverlord.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Instantiation of default destructor
Date: Mon, 28 Nov 2016 13:03:35 -0600
Lines: 78
Approved: news@gmane.org
Message-ID: <CAGg_6+Nkv4oNaA8FuA68VQCEzfqnVM3A1ZBSxt2NOtsUgDB1gQ@mail.gmail.com>
References: <CAKgx6B+8zzZ131-UZobmUvCgB4YeQ1+wTZadcuT6ieDCofDndg@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a114148c25bfb690542612368
X-Trace: blaine.gmane.org 1480359859 26550 195.159.176.226 (28 Nov 2016 19:04:19 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Mon, 28 Nov 2016 19:04:19 +0000 (UTC)
To: "std-proposals@isocpp.org" <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCE35H5S6IDBBMH76HAQKGQEDLMNLPQ@isocpp.org Mon Nov 28 20:04:15 2016
Return-path: <std-proposals+bncBCE35H5S6IDBBMH76HAQKGQEDLMNLPQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-oi0-f69.google.com ([209.85.218.69])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCE35H5S6IDBBMH76HAQKGQEDLMNLPQ@isocpp.org>)
	id 1cBRDp-0006TF-NO
	for gclcip-std-proposals@m.gmane.org; Mon, 28 Nov 2016 20:04:13 +0100
Original-Received: by mail-oi0-f69.google.com with SMTP id u15sf270762704oie.6
        for <gclcip-std-proposals@m.gmane.org>; Mon, 28 Nov 2016 11:04:17 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:sender:in-reply-to:references:from
         :date:message-id:subject:to:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=gK4omAWQkobZ2x21tn7Yw7axS48g+2/is+Co8fc8/6w=;
        b=DyoUqH6o7+i2mNW7EHbe+xOV3o0NX8KeoI9hfqsJHzN34m0cl/u40PFe0kMNj8MJhP
         CHVE86JreICou1TkvLfArMWWbBFw4lwz0/bQQVGxFvd+BhamFWMoT3VadjBU0bYNc2J6
         cCC1do30nl9hfyqszbJWZEew9hdD40MVgTT8keRf9JIah4WKmSjY8li6nuwslR9/RpyU
         lkhT4KKVBYgWknaj54QHepWipROJXibY8UXtXp9sEv2/cMOB+T61QMjNIJ95b5ygJ08q
         HJDnmQLji9cHHuTdY/KpGjvuUizwsugRtXIZyZi4XEk2DZuSvbG+1JqFutNfyW5AqTCv
         ziZw==
X-Gm-Message-State: AKaTC00rigU81gb1119/UxQL0OzGZtK/F7NJ0Jhm4aEne1TzSw5U80Nkc043yYPZZ76BAA==
X-Received: by 10.157.40.208 with SMTP id s74mr4905153ota.19.1480359857349;
        Mon, 28 Nov 2016 11:04:17 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.11.242 with SMTP id 105ls11081587oth.30.gmail; Mon, 28 Nov
 2016 11:04:16 -0800 (PST)
X-Received: by 10.157.44.38 with SMTP id f35mr12530764otb.192.1480359856462;
        Mon, 28 Nov 2016 11:04:16 -0800 (PST)
Original-Received: from mail-oi0-x233.google.com (mail-oi0-x233.google.com. [2607:f8b0:4003:c06::233])
        by mx.google.com with ESMTPS id p18si27001150oic.16.2016.11.28.11.04.16
        for <std-proposals@isocpp.org>
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Mon, 28 Nov 2016 11:04:16 -0800 (PST)
Received-SPF: pass (google.com: domain of nliber@gmail.com designates 2607:f8b0:4003:c06::233 as permitted sender) client-ip=2607:f8b0:4003:c06::233;
Original-Received: by mail-oi0-x233.google.com with SMTP id b126so162270493oia.2
        for <std-proposals@isocpp.org>; Mon, 28 Nov 2016 11:04:16 -0800 (PST)
X-Received: by 10.157.37.13 with SMTP id k13mr12447538otb.162.1480359856043;
 Mon, 28 Nov 2016 11:04:16 -0800 (PST)
Original-Sender: nliber@gmail.com
Original-Received: by 10.157.9.142 with HTTP; Mon, 28 Nov 2016 11:03:35 -0800 (PST)
In-Reply-To: <CAKgx6B+8zzZ131-UZobmUvCgB4YeQ1+wTZadcuT6ieDCofDndg@mail.gmail.com>
X-Original-Sender: nevin@eviloverlord.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@gmail.com;       spf=pass (google.com: domain of nliber@gmail.com
 designates 2607:f8b0:4003:c06::233 as permitted sender) smtp.mailfrom=nliber@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: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:29560
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/29560>

--001a114148c25bfb690542612368
Content-Type: text/plain; charset=UTF-8

On Mon, Nov 28, 2016 at 6:14 AM, Domen Vrankar <domen.vrankar@gmail.com>
wrote:

> For me it's not a big deal to write A::~A() = default; in cpp file but
> still since we've had that debate I was wondering if it would be feasible
> to change the wording (don't know how much the standard would have to be
> changed for that) so that implicit default destructor would be added to the
> code at the point of first constructor implementation (in the above example
> at the point of A::A(T* ptr_); implementation in .cpp file) and not at the
> end of the file where the class was declared?
>

Define "first constructor implementation".

Different constructors for the same class may be declared in different
compilation units (different .cpp files).  Right now the implicit ones work
as if declared "inline", which is what allows class declaration headers to
be included by multiple .cpp files, as well as making it easier to inline.
IMHO, changing this is a non-starter.
-- 
 Nevin ":-)" Liber  <mailto:nevin@eviloverlord.com>  +1-847-691-1404

-- 
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.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BNkv4oNaA8FuA68VQCEzfqnVM3A1ZBSxt2NOtsUgDB1gQ%40mail.gmail.com.

--001a114148c25bfb690542612368
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra">On Mon, Nov 28, 2016 at 6:14 AM=
, Domen Vrankar <span dir=3D"ltr">&lt;<a href=3D"mailto:domen.vrankar@gmail=
..com" target=3D"_blank">domen.vrankar@gmail.com</a>&gt;</span> wrote:<br><d=
iv class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>For me it&#39;=
s not a big deal to write A::~A() =3D default; in cpp file but still since =
we&#39;ve had that debate I was wondering if it would be feasible to change=
 the wording (don&#39;t know how much the standard would have to be changed=
 for that) so that implicit default destructor would be added to the code a=
t the point of first constructor implementation (in the above example at th=
e point of A::A(T* ptr_); implementation in .cpp file) and not at the end o=
f the file where the class was declared?<br></div></blockquote></div><br>De=
fine &quot;first constructor implementation&quot;.</div><div class=3D"gmail=
_extra"><br></div><div class=3D"gmail_extra">Different constructors for the=
 same class may be declared in different compilation units (different .cpp =
files).=C2=A0 Right now the implicit ones work as if declared &quot;inline&=
quot;, which is what allows class declaration headers to be included by mul=
tiple .cpp files, as well as making it easier to inline.=C2=A0 IMHO, changi=
ng this is a non-starter.<br>-- <br><div class=3D"gmail_signature" data-sma=
rtmail=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div>=C2=
=A0Nevin &quot;:-)&quot; Liber=C2=A0 &lt;mailto:<a href=3D"mailto:nevin@evi=
loverlord.com" target=3D"_blank">nevin@eviloverlord.com</a>&gt; =C2=A0+1-84=
7-691-1404</div></div></div></div></div>
</div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BNkv4oNaA8FuA68VQCEzfqnVM3A1Z=
BSxt2NOtsUgDB1gQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BNkv4oN=
aA8FuA68VQCEzfqnVM3A1ZBSxt2NOtsUgDB1gQ%40mail.gmail.com</a>.<br />

--001a114148c25bfb690542612368--

.
