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.6 required=5.0 tests=BAYES_05,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!bbn!inmet!ishmael!inmet!stt From: stt@inmet Newsgroups: comp.lang.ada Subject: Re: Collective response to := messa Message-ID: <124000022@inmet> Date: 6 Dec 88 19:16:00 GMT References: <10959@ulysses.homer.nj.att.com> Nf-ID: #R:ulysses.homer.nj.att.com:-1095900:inmet:124000022:000:695 Nf-From: inmet!stt Dec 6 14:16:00 1988 List-Id: Here is another example of assignment leaving uninitialized components: type Rec is record F : Positive; G : Positive := 5; end record; X : Rec; Y : Rec; begin Y := X; In this example predefined assignment, the compiler is NOT required to perform any constraint checks, and it is quite possible that Y.F is < 0 after the indicated assignment. It would be erroneous to use the value of Y.F, and it would be erroneous to use Y as a whole as an operand to "=" or "/=", but the assignment itself is not erroneous. (See LRM 3.2.1:18 for discussion of erroneous use of uninitialized scalar subcomponents). S. Tucker Taft Intermetrics, Inc Cambridge, MA 02138