Настройка build.warnings в Cargo перестала быть экспериментальной

24.04.2026

Настройка управления предупреждениями в Cargo перестала быть экспериментальной. Она позволяет либо скрыть предупреждения сборки, либо превратить их в ошибку.

Зачем она нужна

Запретить предупреждения принято флагом компилятора. Но такой флаг задаётся для всех пакетов сразу и — что важнее — попадает в ключ, по которому Cargo определяет, что пересобрать. То есть включение строгого режима сбрасывало кеш сборки.

Для непрерывной сборки это означает полную пересборку каждый раз, когда скрипт включает строгий режим. Списки проектов это отражают: включение предупреждений как ошибок увеличивает время сборки заметно.

Что даёт настройка

Настройка принадлежит конфигурации Cargo, а не командной строке компилятора, и потому кеш не трогает. Можно включить строгий режим для одного шага сборки, прогнать и вернуть обратно — без потери кеша.

Уточнение семантики

В том же месяце уточнено поведение при значении «скрыть»: оно больше не подавляет жёсткие предупреждения Cargo и диагностику, помеченную как запрещённую. Раньше это создавало ловушку — настройка, предназначенная для тишины, могла скрыть сообщение о проблеме, которую надо увидеть.

Теперь поведение совпадает с тем, как это работает у самого компилятора: нельзя скрыть то, что помечено как запрещённое.

Оригинал

compile: stabilize build.warnings; уточнения — rust-lang/cargo#16827 и #16824

Упоминаний: 1 · Просмотров: 3