Комментарии 9
Не доверяйте пути между двумя системными вызовами
Вообще довольно классический баг для той же веб-разработки когда с базы что-то читают, а потом пишут. Ну и для параллельного кода тоже, вариация гонки потоков. Любопытно что для файлов такое тоже есть, если неправильно написать.
Зато там, где никакого бага нет, компилятор поднимет тревогу.
fn main() {
let mut vec = vec![
"foo".to_string(),
"bar".to_string(),
];
vec[0] += &vec[1];
}
А вот как раз-таки есть проблема
vec[0] — требует изменяемое заимствование (&mut vec) для операции +=
&vec[1] — требует неизменяемое заимствование (&vec)
Вот видите, не работает этот ваш раст!
Тут больше про то, что какой не была бы безопасной вещь — не стоит слепо надеяться только на неё
Ошибки проектирования POSIX даже Rust не способен исправить...
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Баги, которые не ловит Rust