LINUX.ORG.RU

История изменений

Исправление 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 и тогда код свалится при гонке… Это, конечно, не высирание ошибки на этапе коНпеляции, но как разве это безопасность? Что-то глубинное есть, что перевернет мир?