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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,75ffc1f081ec10e3 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!213.132.189.1.MISMATCH!multikabel.net!feed10.multikabel.net!feed.xsnews.nl!feeder.xsnews.nl!151.189.20.20.MISMATCH!newsfeed.arcor.de!news.arcor.de!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Constant record components Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <12ad8guf3sg1o0d@corp.supernews.com> <1loq7utmaxvll$.yqsxj5edzqgv.dlg@40tude.net> <12afs64kh432q0e@corp.supernews.com> Date: Mon, 3 Jul 2006 09:50:31 +0200 Message-ID: NNTP-Posting-Date: 03 Jul 2006 09:50:31 MEST NNTP-Posting-Host: 93e1efe1.newsread2.arcor-online.net X-Trace: DXC=YWEHEKC>Y7`GnN95NbAh:aQ5U85hF6f;djW\KbG]kaMhGSi?jHD8GO`baAa;;QWg5k[6LHn;2LCVn7enW;^6ZC`dIXm65S@:3>o X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:5424 Date: 2006-07-03T09:50:31+02:00 List-Id: On Sun, 2 Jul 2006 09:13:54 -0700, ME wrote: > "Dmitry A. Kazakov" wrote in message > news:1loq7utmaxvll$.yqsxj5edzqgv.dlg@40tude.net... >> On Sat, 1 Jul 2006 09:25:06 -0700, ME wrote: >> >>> What was the rationale for prohibiting constant record components? >> >> Initialization and composition issues. Then often it is argued that >> discriminants are, though limited. > What were these issues? You should ask language lawyers. Consider aggregates: type Semimutable is record A : constant Integer := 10; B : Integer; end record; X : Semimutable := (A => 20, B => 40); -- Constraint_Error? Y : Semimutable := (A => 10, B => 40); It might become tricky when A is a composite or private type. Should it finalize the component and initialize it *same*? In which sense same? Does it skip A upon assignments? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de