it seems that cbindgen can only rename a type by writing config file like
[export.rename]
"Feature" = "MODULE_NAME_FEATURE"
if there are multi Feature types in different modules, the generated header file only contains the last type.
so, if cbindgen can write rename rule in annotations, the problem can be solved, for example
// in crate::a
/// cbindgen:export-rename=A_FEATURE
pub enum Feature {...}
// in crate::b
/// cbindgen:export-rename=B_FEATURE
pub enum Feature {...}
there are already some similar annotations in cbindgen like cbindgen:no-exportcbindgen:eq-attributes=MY_ATTRIBUTES, i think it's not difficult to implement it.
it seems that cbindgen can only rename a type by writing config file like
if there are multi
Feature
types in different modules, the generated header file only contains the last type.so, if cbindgen can write rename rule in annotations, the problem can be solved, for example
there are already some similar annotations in cbindgen like
cbindgen:no-export
cbindgen:eq-attributes=MY_ATTRIBUTES
, i think it's not difficult to implement it.