You do not implement Trec.proc so the compile will fail anyway.
I would expect a "forward delaration not solved."
Also, virtual methods are not allowed in records.
It should be something like this, that I tested in Delphi. (no fpc compiler available today, yet)
{$APPTYPE CONSOLE}
{$ifdef fpc}{$mode delphi}{$endif}
type
tmyrec = record
procedure myproc; //<-- no virtual. makes no sense in records.
end;
procedure tmyrec.myproc; //<-- must implement
begin
end;
begin
end.
If that still fails it is a real bug.
BTW:
If you really want something like virtual in a record you must use a procedure variable of type myproc.
You can not override records, but you can change values from record fields.