{ %fail }

{ the reason this compiles is that tdef.size and tabstractvarsym.getsize }
{ both return an aint, and then the size of ta is reported as low(aint)  }

type
  ta = array[0..high(ptrint)] of byte;
  tr = packed record
    a: byte;
    case byte of
      0: (l: longint);
      1: (e: ta);
  end;

begin
  writeln(sizeof(ta));
end.
