Ответ 1
Rust испускает i1
в LLVM для bool
и полагается на все, что он производит. LLVM использует i8
(один байт) для представления i1
в памяти для всех платформ, поддерживаемых Rust на данный момент. С другой стороны, нет уверенности в будущем, так как разработчики Rust отказываются передавать конкретное представление bool
.
Таким образом, он гарантируется текущей реализацией, но не гарантируется никакими спецификациями.
Вы можете найти более подробную информацию в этом обсуждении в формате RFC и связанном PR и проблеме.