Hi, i don't know it this is a new one, I just tested 1.8rc1 on a bunch of my projects and i stumbled across:
Projekt kompilieren, Modus: Debug, Ziel: C:\projekte\Delphi\bin\x86_64-win64\prj_CompileErr.exe: Exit code 1, Fehler: 2
unt_childclass.pas(23,28) Error: function header doesn't match any method of this class "class Something:{Dynamic} Array Of AnsiString;"
unt_childclass.pas(15,20) Error: Found declaration: class Something:{Dynamic} Array Of AnsiString;
BTW it compiles in Delphi (i just tested)
Compiler stops at:
class function TChildClass.Something: TStringArray; //<--- Here
begin
setlength(Result, 2);
Result[0] := 'Hello';
Result[1] := Format('%s%s',['Wor','ld']);
end;
Declaration of TChildClass:
{ TChildClass }
// see §1
TChildClass = class(TBaseClass)
class function Something: TStringArray; override;
end;
Declaration of TBaseClass:
type
{$ifndef SUPPORTS_GENERICS}
TStringArray = array of string;
{$endif}
// see §1
TBaseClass = class
class function Something:{$ifdef SUPPORTS_GENERICS}Tarray<String>{$else}TStringArray{$endif}; virtual; abstract;
end;
It used to compile in older versions ...
Hint & spoiler:
See hint.txt