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> Lines: 24 Nf-ID: #R:ulysses.homer.nj.att.com:-1095900:inmet:124000022:000:695 Nf-From: inmet!stt Dec 6 14:16:00 1988 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