Open lenianiva opened 7 months ago
typedef struct { int m_rc; unsigned m_cs_sz:16; unsigned m_other:8; unsigned m_tag:8; } lean_object; static inline _Atomic(int) * lean_get_rc_mt_addr(lean_object* o) { return (_Atomic(int)*)(&(o->m_rc)); }
This case is narrowed down from lean.h
$ bindgen input.h --experimental --wrap-static-fns
When executing the above
panicked at main.rs:52:36: Unable to generate bindings: Codegen(Serialize { msg: "Cannot serialize type kind Opaque", loc: "builtin definitions" })
The resulting type of lean_get_rc_mt_addr should be a rust atomic.
lean_get_rc_mt_addr
I've seen https://github.com/rust-lang/rust-bindgen/issues/2151, but is there a workaround of this other than blocklisting the above functions?
Input C/C++ Header
This case is narrowed down from lean.h
Bindgen Invocation
Actual Results
When executing the above
Expected Results
The resulting type of
lean_get_rc_mt_addr
should be a rust atomic.I've seen https://github.com/rust-lang/rust-bindgen/issues/2151, but is there a workaround of this other than blocklisting the above functions?