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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,91252b9c8cd8fe72,start X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Record Aggregate Bug Date: 1996/06/21 Message-ID: #1/1 X-Deja-AN: 162021187 organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-06-21T00:00:00+00:00 List-Id: In article , mcriley on BIX wrote: type Task_Record_Type is record Originator : String (1 .. 20); Header_Dtg : String (1 .. 12); end record; Task_Record : Task_Record_Type := (others => (others => ' '));" This is perfectly fine (T.E.D. worried about the subtypes being different, but the relevant RM quote talks about same types, not same subtypes). These declarations compile and execute fine on GNAT. I don't however like this coding style very much, it is definitely obscure, I think others is better avoided in record aggregates, and would far prefer to see Task_Record := Task_Record_Type := (Originator => (others => ' '), Header_Dtg => (others => ' ')); Much clearer (and presumably as a bonus will work past the bug on the other unnamed compiler :-)