逻辑运算符会在Rust中短路吗?

时间:2018-12-06 04:44:54

标签: rust

一旦知道结果,&&||就会停止评估吗? 换句话说,(true == true) || (true == false)将不会评估右侧,因为仅在评估左侧之后,整个表达式就是true

1 个答案:

答案 0 :(得分:5)

是的,在运行时;当前存在一个编译时错误:const evaluating && and || does not short-circuit #29608

来自Rust reference

fn main() {
    let x = false || true; // true
    let y = false && panic!(); // false, doesn't evaluate `panic!()`
}