TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Programming Language Advocacy (83 & 95)" <[log in to unmask]>
Date: Fri, 3 Jun 2005 12:20:36 -0700
Reply-To: Chris Sparks <[log in to unmask]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
In-Reply-To: <1117824779.5171.15.camel@rjrlinux>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
From: Chris Sparks <[log in to unmask]>
Parts/Attachments: text/plain (48 lines)
The problem is that I rarely use discriminants.  It just seems silly to 
me that given that there are initializers on the type definition below, 
the compiler can deduce what the other value is for MR2 and MR3.  Now if 
I didn't have initializers then that be a whole different matter.


Roger Racine wrote:

>3.7.1(8) says "A discriminant_constraint shall provide exactly one value
>for each discriminant of the subtype being constrained."  While one
>might think that one is constraining a discriminant, and thus only need
>to put in the subset of discriminants you want to constrain, the subtype
>is what is being constrained, and yours has 2 discriminants, both of
>which need values.  That has been there since Ada 83.
>Roger Racine
>On Fri, 2005-06-03 at 12:24, Chris Sparks wrote:
>>Hello experts!
>>I thought I understood discriminants, however, when I tried to assign to 
>>MR2 and MR3 below, the compiler barked at me...
>>  type My_Record (Item : Integer := 1;
>>                  Data : Integer := 2) is record
>>    Stuff : Integer := Item * Data;
>>  end record;
>>  MR1 : My_Record;
>>--MR2 : My_Record (Data => 3);
>>--MR3 : My_Record (Item => 3);
>>  MR4 : My_Record (Item => 10, Data => 11);
>>Can someone enlighten me on this?
>>Chris Sparks