TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Proportional Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Chris Sparks <[log in to unmask]>
Fri, 3 Jun 2005 12:20:36 -0700
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.

C.

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
>>    
>>
>
>
>  
>

ATOM RSS1 RSS2