{$ModeSwitch anonymousfunctions}
It's not that simple. Here are my compiler directives:
{$mode objfpc}// Основной режим Object Pascal
{$ASMMODE INTEL} // Синтаксис Intel для ассемблерных блоков
{$COPERATORS ON} // Операторы C-style (+=, -= и т.д.)
{$GOTO ON} // Разрешает использование меток и goto
{$INLINE ON} // Включение инлайнинга функций
{$MACRO ON} // Поддержка макросов препроцессора
// Мод-свитчи:
{$MODESWITCH ADVANCEDRECORDS} // Методы в records
{$MODESWITCH ANONYMOUSFUNCTIONS} // Анонимные функции (sic!)
{$MODESWITCH ARRAYOPERATORS} // Перегрузка операторов для массивов
{$MODESWITCH CLASS} // Полная поддержка классов
{$MODESWITCH CLASSICPROCVARS} // Классические процедурные переменные
{$MODESWITCH DUPLICATELOCALS} // Разрешение дублирования имен переменных
{$MODESWITCH NESTEDPROCVARS} // Вложенные процедурные переменные
{$MODESWITCH OUT} // Параметры out
{$MODESWITCH POINTERTOPROCVAR} // Преобразование указателей в procvar
{$MODESWITCH RESULT} // Использование Result в функциях
{$MODESWITCH TYPEHELPERS} // Хелперы для типов
{$PACKENUM 4} // Минимальный размер перечислений
{$PACKRECORDS C} // C-совместимое выравнивание записей
{$PACKSET 4} // Минимальный размер множеств
{$Q-} // Проверка переполнения
{$R-} // Проверка диапазона
{$T-} // Проверка типизированных указателей
{$H+} // Режим расширенного диапазона для типа integer
{$S+} // Выравнивание полей
type
TProc = reference to procedure;
Компиляция проекта, режим: Default, цель: z:\Number\number.exe: Код завершения 1, ошибок: 3, подсказок: 3
Hint: Start of reading config file Z:\fpcupdeluxe\fpc\bin\x86_64-win64\fpc.cfg
Hint: End of reading config file Z:\fpcupdeluxe\fpc\bin\x86_64-win64\fpc.cfg
Verbose: Free Pascal Compiler version 3.3.1-17788-gc6d3e42129-dirty [2025/04/12] for x86_64
Verbose: Copyright (c) 1993-2025 by Florian Klaempfl and others
Note: Switching assembler to default source writing assembler
Verbose: Target OS: Win64 for x64
Verbose: Compiling number.lpr
Verbose: Compiling Bit.pas
Bit.pas(187,14) Error: Identifier not found "reference"
Bit.pas(187,24) Error: Error in type definition
Bit.pas(187,24) Error: Syntax error, ";" expected but "TO" found
Verbose: Compilation aborted
Verbose: Z:\fpcupdeluxe\fpc\bin\x86_64-win64\ppcx64.exe returned an error exitcode