2
0

tb0681.pp 352 B

1234567891011121314151617181920212223
  1. program tb0681;
  2. {$Mode Delphi}
  3. type R = record
  4. var X: Integer;
  5. function Foo: Integer;
  6. end;
  7. function R.Foo: Integer;
  8. begin
  9. result := X
  10. end;
  11. var F: function : Integer of object;
  12. Z: R = (X:42);
  13. begin
  14. // EXPECTED: gets compiled
  15. // ACTUAL: 'Error: Incompatible types'
  16. F := Z.Foo;
  17. if F() <> 42 then
  18. Halt(1);
  19. end.