fpc/tests/tbs/tb0707.pp
2023-08-14 23:21:25 +02:00

33 lines
569 B
ObjectPascal

{$mode objfpc} {$modeswitch advancedrecords}
var
initialized: boolean = false;
type
InnerRec = record
class operator Initialize(var self: InnerRec);
end;
OuterRec = record
inner: InnerRec;
class operator Initialize(var self: OuterRec);
end;
class operator InnerRec.Initialize(var self: InnerRec);
begin
initialized := true;
end;
class operator OuterRec.Initialize(var self: OuterRec);
begin
end;
begin
Initialize(OuterRec(nil^));
if not initialized then
begin
writeln('Inner record not initialized.');
halt(1);
end;
writeln('ok');
end.