Hi,
Here are the two procedures, Insert and Retrieve:
procedure Insert (M: in out Matrix; N: Indexes; E: Element);
procedure Retrieve (M: Matrix; N:Indexes; Value: out Element; Success: out Boolean);
The calls are:
Insert (M, [3,1], 87);
Retrieve (M, [1,1], Value, Success);
It is a multidimensional array implemented with a digital search tree. Insert works, the values are stored. But Retrieve doesn’t even go in the body, when running I get “Constraint_error” pointing at that line in the driver program.
Even though the type of that aggregate is the same:
type Indexes is array (Positive range <>) of Positive;
The faulty line at execution is L102 on this reproductible code.