{: test that assigning to a conformant array bound causes
   a compilation error }

{$d+}
program e106( output );

type
   smallInt =  1..10;

var
   a : array['1'..'9'] of integer;

procedure test(aa : array[lo..hi :char ] of integer);
var
   aa1 : array[smallInt] of integer;
   z   : char;
begin
   z := lo;
   aa[z] := 3;
   hi := '2';   { !!! assign to conformant array upper bound }
   aa[hi] := 3;
   writeln( 'fails: conformant array bounds assign is not detected' );
end;
begin {e106}

   test(a);

end. { e106 }

