Как избежать неопределенного поведения с русифицированными перечислениями в bindgen?
В bindgen есть опция, которая позволяет генерировать перечисления Rust (вместо констант) из перечислений C. Однако в документации указано, что он способен генерировать код, вызывающий неопределенное поведение при определенных обстоятельствах:
Используйте это с осторожностью, создание этого в небезопасном коде (включая FFI) с недопустимым значением вызовет неопределенное поведение. Вместо этого вы можете использовать стиль перечисления newtype.
На что именно мне следует обратить внимание, чтобы этого избежать? Означает ли «создание этого в небезопасном коде», что
build.rs
без небезопасного кода поймает эти ситуации? Смысл приведенной выше цитаты мне неясен.