Some codetools incompatibilities with anonymous procedures in Lazarus (Trunk)
- Lazarus/FPC Version: <Lazarus 2.3.0 (rev main-2_3-2388-gadaf3f4e) FPC 3.3.1 x86_64-win64-win32/win64__>
- Operating System: <Win10__>
- CPU / Bitness: <64__>
What happens
Code tools do not accept some constructs with anonymous procedures. (All these constructs compile and run, but break code navigation in Lazarus)
Examples:
procedure(const aArg: String)
begin
Writeln(aArg);
end('Hello World');
is not supported by codetools. It says:
<project1.lpr(26,5) Error: unexpected keyword "procedure">
Also this compiles, but is not accepted by codetools:
i := function foo:integer
begin
foo:= 4711;
end;
It does accept this:
i:= function:integer
begin
Result:= 4711;
end();
Just for the records, it is not an important problem. The attached program is compilable.
Edited by Peter Heckert