Документация по ржавчине расплывчата в размере bool.
Гарантируется ли он 1 байт, или он не указан как С++?
fn main() {
use std::mem;
println!("{}",mem::size_of::<bool>()); //always 1?
}
Ответ 1
Rust испускает i1 в LLVM для bool и полагается на все, что он производит. LLVM использует i8 (один байт) для представления i1 в памяти для всех платформ, поддерживаемых Rust на данный момент. С другой стороны, нет уверенности в будущем, так как разработчики Rust отказываются передавать конкретное представление bool.
Таким образом, он гарантируется текущей реализацией, но не гарантируется никакими спецификациями.