Size: a a a

2020 May 24

RP

Roman Proskuryakov in rust_offtopic
ты не прав
источник

EG

Emmanuel Goldstein in rust_offtopic
Roman Proskuryakov
ты не прав
Спасибо за аргументированный ответ.
источник

RP

Roman Proskuryakov in rust_offtopic
потому что у тебя неаргументированный наезд
источник

EG

Emmanuel Goldstein in rust_offtopic
Я уже три раза повторил.
1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов
2. Все пакеты с изменившейся версией нужно просмотреть ещё раз
3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
источник

RP

Roman Proskuryakov in rust_offtopic
хочешь аргументированного ответа - пили MRE, я тебе покажу, какие маны по карго надо читать, чтобы не столкнуться с этой проблемой
источник

RP

Roman Proskuryakov in rust_offtopic
Emmanuel Goldstein
Я уже три раза повторил.
1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов
2. Все пакеты с изменившейся версией нужно просмотреть ещё раз
3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
1) это не так
2) нужно, но ты не обновляй
3) смотри в формат крейтофайлов
источник

EG

Emmanuel Goldstein in rust_offtopic
Roman Proskuryakov
1) это не так
2) нужно, но ты не обновляй
3) смотри в формат крейтофайлов
Это так. Все зависимости, которые указаны с версией "x.y.z", cargo имеет право обновить до любой версии "x.y.a", что написано в любимых тобой мануалах по карго.
источник

RP

Roman Proskuryakov in rust_offtopic
в моих любимых мануалах даже описано, как делать, чтобы оно не обновляло
источник

RP

Roman Proskuryakov in rust_offtopic
просто иди и читай
источник

EG

Emmanuel Goldstein in rust_offtopic
Roman Proskuryakov
в моих любимых мануалах даже описано, как делать, чтобы оно не обновляло
Оно не будет обновлять прямые зависимости, но с косвенными всё ещё проблема.
источник

RP

Roman Proskuryakov in rust_offtopic
и косвенные не будет)
источник

RP

Roman Proskuryakov in rust_offtopic
которые транзитивные
источник

G

Gymmasssorla in rust_offtopic
Emmanuel Goldstein
Я уже три раза повторил.
1. При любом изменении в Cargo.toml (например, добавлении новой зависимости) может изменится версия всех пакетов
2. Все пакеты с изменившейся версией нужно просмотреть ещё раз
3. crates.io даже не гарантирует, что код на гитхабе имеет хоть что-то общее с кодом в crates.io, что ещё сильнее усложняет задачу.
1-2: писать прямо в проекте тесты на используемые библиотеки. Так при обновлении библиотек можно быть уверенным в их правильности + помогает другим людям и тебе в том числе понять как использовать библиотеки
источник

RP

Roman Proskuryakov in rust_offtopic
не, ты не прав. в теории в новые версии build.rs тебе может майнинг засунуть в бинарь
источник

RP

Roman Proskuryakov in rust_offtopic
@emmanuelGoldstein короче твои наезды понятны, но не верны.
источник

EG

Emmanuel Goldstein in rust_offtopic
Roman Proskuryakov
не, ты не прав. в теории в новые версии build.rs тебе может майнинг засунуть в бинарь
В теории можно адекватно это делать:
1. Прибить хеши всех прямых и транзитивных зависимостей
2. Сравнивать их с хешами с гитхаба
3. Фейлить билд при отличиях
источник

EG

Emmanuel Goldstein in rust_offtopic
Тогда можно как-то гарантировать, что код, который используется, это тот же код, что и на гитхабе
источник

EG

Emmanuel Goldstein in rust_offtopic
На практике я таких утилит пока не видел
источник

RP

Roman Proskuryakov in rust_offtopic
а на практике для упоротых есть вендоринг.
источник

RP

Roman Proskuryakov in rust_offtopic
и вообще на практике для людей, которые более-менее изучили раст, таких вопросов не стоит
источник