For type
pub type Function = fn() -> usize;
generated C typedef is
typedef uintptr_t (*Function)();
but expected according to C standard is
typedef uintptr_t (*Function)(void);
It implies warning when compiling C code:
warning: function declaration isn't a prototype