Internal error on casting the closure to a function pointer.
While trying to build a simpler example for #40220 I got an Internal error 2021060802
on the following code:
{$mode objfpc} {$modeswitch anonymousfunctions}
procedure Main;
var
c: int32;
begin
c := 12;
TProcedure(procedure begin writeln(c); end);
end;
begin
Main;
end.
(Yes the typecast is incorrect and the code would crash, but even compiling it without errors is probably better than throwing an internal error. Ideally, it should throw a descriptive compilation error.)
Edited by Rika