имеет в зависимостях lazy_static = { version = "1.4.0", features = ["spin_no_std"] }
Второй просто lazy_static = { version = "1.4.0" }
В итоге второй не компилится, если убрать из зависимостей первый, то все ок..
Получается что настройки в зависимостях одного из пакетов могут влиять на настройки другого зависимого пакета?
Как можно этого избежать?
По дефолту в rust edition < 2021 используется resolver v1 который мержит фичи зависимостей во всем дереве Можно посмотреть в сторону resolver 2 https://doc.rust-lang.org/cargo/reference/resolver.html#feature-resolver-version-2
В дефолтных случаях да, но не во всех
избежать только одним способом — задать им несовместимые версии общей зависимости
Обсуждают сегодня