[fpc-devel] Fwd:  override works, even if result type changed?
    Martin Frb 
    lazarus at mfriebe.de
       
    Mon Mar 31 15:36:45 CEST 2014
    
    
  
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 <lazarus at mfriebe.de>
Reply-To: 	FPC developers' list <fpc-devel at lists.freepascal.org>
To: 	FPC developers' list <fpc-devel at lists.freepascal.org>
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  -  fpc-devel at lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140331/390c5ae7/attachment.html>
    
    
More information about the fpc-devel
mailing list