1-- { dg-do compile }
2-- { dg-options "-gnatws -O3" }
3
4with Discr21_Pkg; use Discr21_Pkg;
5
6package body Discr21 is
7
8  type Index is new Natural range 0 .. 100;
9
10  type Arr is array (Index range <> ) of Position;
11
12  type Rec(Size : Index := 1) is record
13    A : Arr(1 .. Size);
14  end record;
15
16  Data : Rec;
17
18  function To_V(pos : Position) return VPosition is
19  begin
20    return To_Position(pos.x, pos.y, pos.z);
21  end;
22
23  procedure Read(Data : Rec) is
24    pos : VPosition := To_V (Data.A(1));
25  begin
26    null;
27  end;
28
29  procedure Test is
30  begin
31    Read (Data);
32  end;
33
34end Discr21;
35