fpc/tests/test/tanonfunc27.pp

36 lines
466 B
ObjectPascal

program tanonfunc27;
{$mode objfpc}
{$modeswitch anonymousfunctions}
{$modeswitch functionreferences}
{ test accessing a captured variable from both a nested procedure and an anonymous function }
type
tproc = reference to procedure;
procedure foo;
var
i: Integer;
procedure inner;
begin
inc(i, 20);
end;
begin
i := 100;
tproc(
procedure begin
inc(i, 3);
end)();
inner;
if i <> 123 then
halt(1);
end;
begin
foo;
end.