В случае, если вы забудете, вы можете набрать
let rec x = lazy(x.Value)
и получить предупреждение
Эта и другие рекурсивные ссылки на определяемые объекты будут проверяться наСтойкость инициализации во время выполнения за счет использования отсроченной ссылки.Это потому, что вы определяете один или несколько рекурсивных объектов, а не рекурсивные функции.Это предупреждение можно подавить, используя '#nowarn "40" или "--nowarn: 40".
, что показывает, что вы можете использовать либо флаг компилятора --nowarn
в командной строкеили используйте хеш-директиву #nowarn
в вашем коде.Номер предупреждения для каждого предупреждения будет частью выходных данных сборки (список ошибок Visual Studio не отображает числа, поэтому, если в VS сборка, а затем проверка выходных данных сборки).Также, если внутри VS, вы можете перейти на страницу свойств проекта, вкладку «Построить», и использовать селектор «уровень предупреждения» и поле «подавить предупреждения» (список чисел, разделенных точкой с запятой), чтобы контролировать, какие предупреждения выводятся черезпользовательский интерфейс VS.
(Кстати, я считаю, #nowarn
отключает только предупреждение в текущем файле, тогда как --nowarn
отключает его для всего компилируемого проекта.)