TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

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

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

Print Reply
Subject:
From:
Chris Sparks <[log in to unmask]>
Reply To:
Chris Sparks <[log in to unmask]>
Date:
Fri, 3 Jun 2005 12:20:36 -0700
Content-Type:
text/plain
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.

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