TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Proportional Font
Show HTML 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]>
X-To: Chris Sparks <[log in to unmask]>
Date: Fri, 3 Jun 2005 14:53:00 -0400
MIME-version: 1.0
Content-type: text/plain
From: Roger Racine <[log in to unmask]>
In-Reply-To: <[log in to unmask]>
Content-transfer-encoding: 7BIT
Parts/Attachments: text/plain (31 lines)
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