cargo package стал переиспользовать кэш сборки рабочей области

12.08.2025

cargo package теперь всегда использует каталог артефактов рабочей области. Раньше при явно заданном CARGO_TARGET_DIR кэш сборки зависимостей использовался, а без него команда собирала всё заново во внутреннем каталоге.

Что это даёт

Проблема всплыла при подготовке стабилизации build-dir. Упаковка пакета проверяет, что он собирается только на объявленных зависимостях, и потому собирает его в отдельном каталоге — но если зависимости уже собраны рядом, повторная сборка не нужна. Из-за разницы в поведении время cargo package зависело от того, задан ли CARGO_TARGET_DIR в окружении: с ним команда шла быстро, без него — пересобирала всё.

Теперь поведение одинаковое в обоих случаях. Обнаружил и исправил ranger-ross, отслеживание — rust-lang/cargo#14125.

Оригинал

perf(package): Always reuse the workspace's target-dir

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