Cargo может подсказывать компилятору минимальную версию, требуемую пакетом

26.06.2026

У Cargo появился ключ, который передаёт компилятору значение минимальной версии из манифеста. Появился и такой же ключ у самого компилятора, который на этой версии подсказывает более новые возможности.

Какая задача решается

Пакет объявляет, какая минимальная версия языка ему нужна. Раньше это объявление проверялось только на совпадение версий: не хватает — ошибка. Но компилятор мог использовать возможность, которой нет в объявленной версии, и это обнаруживалось только при попытке собрать на старой версии — то есть у пользователя, а не у автора.

Что даёт подсказка

Компилятор видит объявленную версию и может предупредить: «эта возможность появилась в более новой версии, чем объявлено». Ошибка переносится с этапа «пользователь не может собрать» на этап «автор видит предупреждение при разработке».

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

Положение дел

Оба ключа пока помечены как нестабильные. Значение объявленной версии при этом не изменилось и ни на что не влияет — это только подсказка.

Оригинал

add -Zhint-msrv flag

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