Логическое значение в Rust равно , гарантированно равное 1
или 0
:
bool представляет значение, которое может быть только истинным или ложным. Если вы преобразуете bool в целое число, true будет равно 1, а false будет 0.
Логическое значение, которое не 0
и 1
не неопределенное поведение :
Значение, отличное от false (0) или true (1) в bool.
Следовательно, вы можете просто привести его к примитиву:
assert_eq!(0, false as i32);
assert_eq!(1, true as i32);