Another question that never got answered. Yet I would expect, that either it is implemented with intend, then someone must know.
Or it is a bug then that should be checked?

If no one knows, shall I assume it is a bug, and report it?


-------- Original Message --------
Subject:        [fpc-devel] override works, even if result type changed?
Date:   Sun, 23 Feb 2014 16:56:26 +0000
From:   Martin Frb <[email protected]>
Reply-To:       FPC developers' list <[email protected]>
To:     FPC developers' list <[email protected]>



Just found that the below works.

Note, that the result type of "a" (overridden) is different.
Well, TFoo2 will always satisfy the needs of TFoo, so it seems save. I
still found it surprising. Is it intended?


program Project1;
type
  TFoo= class
  public
    function a: TFoo; virtual;
  end;

  TFoo2= class(TFoo)
  public
    function a: TFoo2; override;
  end;

function TFoo2.a: TFoo2;
begin
end;

function TFoo.a: TFoo;
begin
end;

begin
end.

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel



_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to