comp.lang.ada
 help / color / mirror / Atom feed
From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: "unconstrained subtype in component declaration" vs "discriminant in constraint must appear alone"
Date: Mon, 22 Feb 2021 07:32:16 +0100	[thread overview]
Message-ID: <s0vj5f$u8s$1@dont-email.me> (raw)
In-Reply-To: <4086f350-c56b-4eec-91d3-ef685230b011n@googlegroups.com>

Le 22/02/2021 à 01:14, Mehdi Saada a écrit :
> this message "unconstrained subtype in component declaration"
> arises from this:
> 
>      subtype Limit_number is Natural range 0..51;
>      type CARDS is new Natural range Limit_number'Range;
>      type Sets_of_Card is array (Limit_number range <>) of Cards;
>      function INITIALIZATION (Nb: Nombre_cartes) return Sets_of_Card;
>           type CARDS_SETS (Nb: Nombre_cartes) is record
>           Set: Sets_of_Card := INITIALIZATION (Nb);
>      end record;
> 
> okay,
> then this "Set: Sets_of_Card (0..nb-1) := INITIALIZATION (Nb);"
> gives "discriminant in constraint must appear alone" !
> |[{|@]ŋ¤£# !!
> 
> How do you do ?
> 
1) Forget about Integer, if you want an independent integer type, define 
it as such:
type Cards is range 0..51;
(BTW: why not 1..52?)

2) Components of arrays and records must have a definite size

3) Sets_of_Card (0..nb-1)
I think you meant Sets_of_Card (nb-1). Yes, you cannot make computations 
in a discriminant constraint. Although this may seem sometimes 
frustrating to the user, it was required for implementation reasons. 
However, in your case, using the natural range of 1..52 would avoid the 
issue.

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr

  reply	other threads:[~2021-02-22  6:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-22  0:14 "unconstrained subtype in component declaration" vs "discriminant in constraint must appear alone" Mehdi Saada
2021-02-22  6:32 ` J-P. Rosen [this message]
2021-02-22 10:14   ` AdaMagica
2021-02-22 10:57     ` Dmitry A. Kazakov
2021-02-22 14:20       ` Mehdi Saada
2021-02-22 15:11         ` J-P. Rosen
2021-02-22 15:55         ` Dmitry A. Kazakov
2021-02-22 16:21           ` Mehdi Saada
2021-02-23 22:06             ` Mehdi Saada
2021-02-24  9:59               ` AdaMagica
2021-02-24 10:04               ` Jeffrey R. Carter
2021-02-24 14:11               ` Simon Wright
2021-02-24 15:57               ` Shark8
2021-02-25  0:13                 ` Mehdi Saada
2021-02-25  8:58                   ` AdaMagica
2021-02-25 10:25                     ` Mehdi Saada
2021-02-25 10:28                     ` Mehdi Saada
2021-02-22 10:35 ` Jeffrey R. Carter
2021-02-22 14:21   ` Mehdi Saada
2021-02-22 15:02     ` Jeffrey R. Carter
2021-02-22 15:08       ` J-P. Rosen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox