Интересно, где же работают эти сторонники опакечивания всех языковых либ в системные пакеты. Наверное, дворниками или за кассой, потому что никто такого шизоида не возьмёт в айти и они отсеиваются ещё на собеседовании, где, как правило, сразу сообщают о своих важных закидонах.
fn main() {
let myvec: Vec<String> = vec![
String::from("hello"),
String::from("world")
];
let mut othervec: Vec<String> = Vec::new();
// `myvec.get(1)` doesn't return a `String`, rather, it returns an `Option`,
// and therefore `.unwrap()` needs to be used to get the value out of it
othervec.push(myvec.get(1).unwrap());
}
$ cargo run
error[E0308]: mismatched types
..
expected struct `std::string::String`, found reference
...
Ты из своего кармана будешь для каждого приложения у которого есть зависимости содержать команду QA и лично будешь платить каждому мантейнеру библиотеки за то чтобы он следил за каждым потребителем чтобы там она обновлялась вовремя?
Я смотрю это очень сложно для понимания людям с синдромом утёнка. Смотри: я ставлю пакеты перла, питона, ruby исключительно из системного репозитория. Мне не надо знать ни про какой pip/bundler/cpan, я ставлю и обновляю всё одной командой, при этом мне не прилетит несовместимых версий или откровенного трояна, даже если я опечатаюсь. И модули на разных языках нормально интегрируются друг с другом (скажем, pip не упадёт потому что ему нужна нативная библиотека, а её нет в системе). Так же должно быть и будет с растом, вместо пердолинга с cargo.