Cargo может подсказывать компилятору минимальную версию, требуемую пакетом
26.06.2026У Cargo появился ключ, который передаёт компилятору значение минимальной версии из манифеста. Появился и такой же ключ у самого компилятора, который на этой версии подсказывает более новые возможности.
Какая задача решается
Пакет объявляет, какая минимальная версия языка ему нужна. Раньше это объявление проверялось только на совпадение версий: не хватает — ошибка. Но компилятор мог использовать возможность, которой нет в объявленной версии, и это обнаруживалось только при попытке собрать на старой версии — то есть у пользователя, а не у автора.
Что даёт подсказка
Компилятор видит объявленную версию и может предупредить: «эта возможность появилась в более новой версии, чем объявлено». Ошибка переносится с этапа «пользователь не может собрать» на этап «автор видит предупреждение при разработке».
Для библиотечных крейтов это особенно полезно: их собирают на разных версиях, и расхождение обнаруживается обычно поздно.
Положение дел
Оба ключа пока помечены как нестабильные. Значение объявленной версии при этом не изменилось и ни на что не влияет — это только подсказка.
Оригинал
add -Zhint-msrv flag
Упоминаний: 1 · Просмотров: 3