F # Подавить Предупреждения - PullRequest
6 голосов
/ 18 сентября 2010

Иногда при компиляции F # я получаю досадные совпадения с шаблонами и предупреждения о отступах. Есть ли способ отключить предупреждения? Я довольно ОКР по поводу предупреждений.

Ответы [ 2 ]

8 голосов
/ 18 сентября 2010

В случае, если вы забудете, вы можете набрать

let rec x = lazy(x.Value)

и получить предупреждение

Эта и другие рекурсивные ссылки на определяемые объекты будут проверяться наСтойкость инициализации во время выполнения за счет использования отсроченной ссылки.Это потому, что вы определяете один или несколько рекурсивных объектов, а не рекурсивные функции.Это предупреждение можно подавить, используя '#nowarn "40" или "--nowarn: 40".

, что показывает, что вы можете использовать либо флаг компилятора --nowarn в командной строкеили используйте хеш-директиву #nowarn в вашем коде.Номер предупреждения для каждого предупреждения будет частью выходных данных сборки (список ошибок Visual Studio не отображает числа, поэтому, если в VS сборка, а затем проверка выходных данных сборки).Также, если внутри VS, вы можете перейти на страницу свойств проекта, вкладку «Построить», и использовать селектор «уровень предупреждения» и поле «подавить предупреждения» (список чисел, разделенных точкой с запятой), чтобы контролировать, какие предупреждения выводятся черезпользовательский интерфейс VS.

(Кстати, я считаю, #nowarn отключает только предупреждение в текущем файле, тогда как --nowarn отключает его для всего компилируемого проекта.)

2 голосов
/ 18 сентября 2010

См .: Опции компилятора (F #)

--nowarn:<int-list>

Отключить определенные предупреждения, перечисленные число. Отделяйте каждый номер предупреждения через запятую. Вы можете обнаружить номер предупреждения для любого предупреждения от вывод компиляции.

Эта опция компилятора эквивалентна опция компилятора C # того же название. Для получения дополнительной информации см. / nowarn (параметры компилятора C #).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...