From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.236.63.67 with SMTP id z43mr4026720yhc.11.1407152191676; Mon, 04 Aug 2014 04:36:31 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!v10no4281935qac.1!news-out.google.com!j6ni30349qas.0!nntp.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Mon, 04 Aug 2014 06:36:31 -0500 Date: Mon, 04 Aug 2014 07:36:32 -0400 From: Peter Chapin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Quick question regarding limited type return syntax References: <166aaec5-5e9c-40e0-9b07-9b9c7d5f7f33@googlegroups.com> <16a6846f-2964-438a-ab9b-2029075f7924@googlegroups.com> <20m59uxjlygw$.2mpabkt469vp.dlg@40tude.net> In-Reply-To: Message-ID: X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-xNyemxItNzb5LPnOcCKU2QYJF0C96zYyrYYfEAQEwv1fCz04IRDyWBZ6e64/+JBLBKbyhlDKph0UmrR!wNuW6EQhCX8ie/EiAJDiLQUvwvZPXaogRLJd/sgH4Jb3AbmxXDctMDOUIf4RVc0= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2666 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Received-Bytes: 2969 X-Received-Body-CRC: 2270693763 Xref: news.eternal-september.org comp.lang.ada:21437 Date: 2014-08-04T07:36:32-04:00 List-Id: On 2014-08-04 05:24, Niklas Holsti wrote: > Moreover, I think this question of constructor/destructor control flow > is separate from the general question of preventing access to > uninitialized data. As I understand it, even in the languages which do > have specific constructor/destructor facilities, there is no requirement > or check that a constructor must initialize all the components of the > object. With C++ the language does not require this check but there are tools that do it. The tools are nice because if you add a member they will remind you to take care of it in your constructors. The tools are not perfect. I suspect full handling of this issue may be undecidable because the constructor can call arbitrary recursive methods as part of it's work. So tracking precisely which members get initialized would be quite difficult in the general case. Peter