comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: why "unconstrained subtype in component declaration" while said component given default value ?
Date: Sat, 26 May 2018 16:41:01 -0700 (PDT)
Date: 2018-05-26T16:41:01-07:00	[thread overview]
Message-ID: <1eea4fd5-c370-4c5d-b2bd-ea8e22922146@googlegroups.com> (raw)
In-Reply-To: <f9a3c91e-03d0-4053-827b-170ba762dddf@googlegroups.com>

On Saturday, May 26, 2018 at 3:03:23 PM UTC-6, Mehdi Saada wrote:
> Hello.
> Why is this case not allowed ? Is there really an implementation issue here ? I doubt so. Why should it be any different from the non-issue of initializing variables of unconstrained subtypes vs declaring uninitialized variables of constrained subtypes ?
>  type A (N: Positive) is record
>       II : Integer;
>       Chaine : String := Give_String(N);
>    end record;

It is allowed; try:
  type A (N: Positive) is record
       II : Integer;
       Chaine : String(1..N) := Give_String(N);
    end record;
(This assumes the output-size of Give-string is length N.)

> 
> Also, there's something that would be really cool, and I'm curious why it could not be allowed: Why can't we provide a private constrained subtype, of an inconstrained private type ?
> 
> package III is
>    type A (<>) is private;
>    subtype B is A;  -- should be a constrained subtype
> private
>    function Donne_String (N : Positive) return String;
>    type A (N: Positive) is record
>       II : Integer;
>       Chaine : String(1..N) := Give_String(N);
>    end record;
> end III;

What's the use-case for this?

  parent reply	other threads:[~2018-05-26 23:41 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-26 21:03 why "unconstrained subtype in component declaration" while said component given default value ? Mehdi Saada
2018-05-26 21:40 ` Jere
2018-05-26 22:11   ` Mehdi Saada
2018-05-26 23:55     ` Jere
2018-05-27  0:14       ` Jere
2018-05-27  0:29       ` Mehdi Saada
2018-05-27  0:45         ` Mehdi Saada
2018-05-27 17:15         ` Shark8
2018-05-27 17:30           ` AdaMagica
2018-05-27 18:17             ` Shark8
2018-05-29  1:28               ` AdaMagica
2018-05-29 17:20                 ` Mehdi Saada
2018-05-27  7:45   ` Jeffrey R. Carter
2018-05-26 23:41 ` Shark8 [this message]
2018-05-27  7:07 ` Simon Wright
2018-05-27 17:22   ` Shark8
2018-05-27 12:24 ` Mehdi Saada
2018-05-29 22:28   ` Randy Brukardt
replies disabled

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