From: "Jeffrey R.Carter" <spam.jrcarter.not@spam.acm.org.not>
Subject: Re: error: choice must be static?
Date: Sun, 11 Feb 2024 21:56:17 +0100 [thread overview]
Message-ID: <uqbc9h$12olv$1@dont-email.me> (raw)
In-Reply-To: <uqaek7$vd8o$1@dont-email.me>
On 2024-02-11 13:29, Blady wrote:
> Hello,
>
> I've got the following GNAT error:
>
> $ gcc -c -gnat2022 -gnatl 2024/test_20240211_static_choice.adb
> GNAT 13.2.0
> 1. procedure test_20240211_static_choice is
> 2.
> 3. package Maps is
> 4. type Map_Type is private
> 5. with Aggregate => (Empty => Empty_Map,
> 6. Add_Named => Add_To_Map);
> 7. procedure Add_To_Map (M : in out Map_Type; Key : in Integer;
> Value : in String);
> 8. Empty_Map : constant Map_Type;
> 9. private
> 10. type Map_Type is array (1..10) of String (1..10);
> 11. procedure Add_To_Map (M : in out Map_Type; Key : in Integer;
> Value : in String) is null;
> 12. Empty_Map : constant Map_Type := [1..10 => " "]; --
> error: choice must be static
> |
> >>> error: choice must be static
>
> 13. end;
> 14.
> 15. begin
> 16. null;
> 17. end;
>
> I wonder what more static it should be.
I don't know what this means, but it's definitely related to the Aggregate
aspect. This compiles:
procedure Test_20240211_Static_Choice is
package Maps is
type Map_Type is private
with Aggregate => (Empty => Empty_Map,
Add_Named => Add_To_Map);
procedure Add_To_Map (M : in out Map_Type; Key : in Integer; Value : in
String);
Empty_Map : constant Map_Type;
private
type Map_Base is array (1 .. 10) of String (1 .. 10);
type Map_Type is new Map_Base;
procedure Add_To_Map (M : in out Map_Type; Key : in Integer; Value : in
String) is null;
Empty_Base : constant Map_Base := (1 .. 10 => (1 .. 10 => ' ') );
Empty_Map : constant Map_Type := Map_Type (Empty_Base);
end Maps;
begin
null;
end Test_20240211_Static_Choice;
--
Jeff Carter
"Nobody expects the Spanish Inquisition!"
Monty Python's Flying Circus
22
next prev parent reply other threads:[~2024-02-11 20:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-11 12:29 error: choice must be static? Blady
2024-02-11 20:56 ` Jeffrey R.Carter [this message]
2024-02-12 8:12 ` Dmitry A. Kazakov
2024-02-13 2:12 ` Randy Brukardt
2024-02-13 11:45 ` Simon Wright
2024-02-14 4:28 ` Randy Brukardt
2024-02-17 8:51 ` Blady
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox