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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ace9bff8eb84e5b1 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!newscon02.news.prodigy.net!prodigy.net!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Generic Zero Length Array Date: Mon, 25 Feb 2008 14:14:49 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <9b771018-fb0b-42eb-ae00-12ee3eda69b2@p43g2000hsc.googlegroups.com> <2446841a-8bb0-46bc-94ed-099e4e0ca74c@k2g2000hse.googlegroups.com> <7cd05c2a-d67a-4623-a9dc-67e357877f48@e6g2000prf.googlegroups.com> <03b2715a-b4ab-4919-aa1d-97bfbf0f1c07@64g2000hsw.googlegroups.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1203966889 30248 192.74.137.71 (25 Feb 2008 19:14:49 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Mon, 25 Feb 2008 19:14:49 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:wEtpnW973KLlqS+PPKcQA27Xvsk= Xref: g2news1.google.com comp.lang.ada:20056 Date: 2008-02-25T14:14:49-05:00 List-Id: Adam Beneschan writes: > On Feb 23, 6:27 am, Robert A Duff > wrote: >> >> >...I don't think we need "null record" (i.e. in >> > aggregates) any more either, although certainly nobody is going to >> > suggest removing it. >> >> Why don't we need that? > > Because if Rec_Type is a record with no components, Rec_Type'(others > => <>) will work (and has the same effect as (null record)). Ah, I see what you mean. I still want "null record", because it means something different from "others". The "null record" means I assert that there are no components, and please slap me with a compile-time error if that's not true (or no longer true). The "others" means that I want all components to be default-initialized, including all the ones that have not yet been invented. If somebody changes "type T is null record" to "type T is record Blah : Integer; end record;" I want an error on all the (null record) aggregates. > Or is there some more complex cases where the "null record" syntax is > still needed in aggregates? No. - Bob