Я уже три раза повторил. 1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов 2. Все пакеты с изменившейся версией нужно просмотреть ещё раз 3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
Я уже три раза повторил. 1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов 2. Все пакеты с изменившейся версией нужно просмотреть ещё раз 3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
1) это не так 2) нужно, но ты не обновляй 3) смотри в формат крейтофайлов
1) это не так 2) нужно, но ты не обновляй 3) смотри в формат крейтофайлов
Это так. Все зависимости, которые указаны с версией "x.y.z", cargo имеет право обновить до любой версии "x.y.a", что написано в любимых тобой мануалах по карго.
Я уже три раза повторил. 1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов 2. Все пакеты с изменившейся версией нужно просмотреть ещё раз 3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
1-2: писать прямо в проекте тесты на используемые библиотеки. Так при обновлении библиотек можно быть уверенным в их правильности + помогает другим людям и тебе в том числе понять как использовать библиотеки
не, ты не прав. в теории в новые версии build.rs тебе может майнинг засунуть в бинарь
В теории можно адекватно это делать: 1. Прибить хеши всех прямых и транзитивных зависимостей 2. Сравнивать их с хешами с гитхаба 3. Фейлить билд при отличиях