<!-- Thanks for filing a bindgen issue! We appreciate it :-) --> ### Input C/C++ Header ```C++ enum TestEnum { FOO, BAR }; ``` ### Bindgen Invocation ``` $ bindgen input.h ``` ### Actual Results On Windows: ```rust /* automatically generated by rust-bindgen 0.56.0 */ pub const TestEnum_FOO: TestEnum = 0; pub const TestEnum_BAR: TestEnum = 1; pub type TestEnum = ::std::os::raw::c_int; ``` On Ubuntu: ```rust /* automatically generated by rust-bindgen 0.56.0 */ pub const TestEnum_FOO: TestEnum = 0; pub const TestEnum_BAR: TestEnum = 1; pub type TestEnum = ::std::os::raw::c_uint; ``` ### Expected Results This should be documented somewhere. All I found is this comment: https://github.com/rust-lang/rust-bindgen/issues/1096#issuecomment-365797349 >Bindgen uses whatever enum type comes from clang, so if it's a u32, clang is picking a u32 type for it.