История изменений
Исправление rtxtxtrx, (текущая версия) :
Хорошо он выводит ошибку о потенциальной гонке… И все? Только этим лучше Go? В go можно выполнить go run -race
и тогда код свалится при гонке… Это, конечно, не высирание ошибки на этапе коНпеляции, но разве это безопасность? Что-то глубинное есть, что перевернет мир?
Это ж какая-то хрень:
fn main() {
let r;
{
let x = 5;
r = &x; // Ошибка компиляции: `x` does not live long enough
}
println!("{}", r);
}
Тупо гарантия, что мусор не окажется…
segmentation fault (core dumped)
fn main() {
let some_value: Option<i32> = Some(42);
let none_value: Option<i32> = None;
match some_value {
Some(value) => println!("Value: {}", value),
None => println!("No value"),
}
match none_value {
Some(value) => println!("Value: {}", value),
None => println!("No value"),
}
}
Исходная версия rtxtxtrx, :
Хорошо он выводит ошибку о потенциальной гонке… И все? Только этим лучше Go? В go можно выполнить go run -race
и тогда код свалится при гонке… Это, конечно, не высирание ошибки на этапе коНпеляции, но как разве это безопасность? Что-то глубинное есть, что перевернет мир?