Program Chief39a;
type
Coord = record
  X, Y : integer;
end;
TCoord = Coord;

type bar = object
  function foo: tcoord;
end;

Function bar.foo : TCoord;
Begin
  Result.X := 0;
  Result.Y := 25;
End;

Var
i : integer;
b : bar;
begin
  i := b.foo.y; // GPC barfs here
  if i = 25 then writeln ('OK') else writeln ('failed ', i)
end.
