Замкнуты ли логические операторы в Rust? - PullRequest
0 голосов
/ 06 декабря 2018

Прекратят ли оценки && и ||, как только будет известен результат?Другими словами, (true == true) || (true == false) не оценивает правую сторону, поскольку известно, что все выражение равно true только после вычисления левой стороны.

1 Ответ

0 голосов
/ 06 декабря 2018

Да, во время выполнения;в настоящее время есть ошибка времени компиляции: const, оценивающая && и ||не закорачивает # 29608 .

Из справочника Rust :

fn main() {
    let x = false || true; // true
    let y = false && panic!(); // false, doesn't evaluate `panic!()`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...