{ %NORUN } (* testing application for https://forum.lazarus.freepascal.org/index.php/topic,47936.0.html *) program tw36496a; {$Mode delphi} function TestGenRecurse(const AInput : T) : Boolean; begin //Result := False; (* below, if uncommented will fail to compile tester.lpr(12,19) Error: Identifier not found "TestGenRecurse$1" *) TestGenRecurse(AInput); TestGenRecurse('test'); TestGenRecurse(42); end; procedure TestGenRecurseProc(const AInput : T); begin (* below method calls compile fine *) TestGenRecurseProc(AInput); TestGenRecurseProc('test'); TestGenRecurseProc(42); end; begin TestGenRecurse('testing'); TestGenRecurseProc('testing'); end.