When C structs contain recursive pointers to their own type, bindgen outputs invalid Rust types. Probably the solution to this is to define C structs as Rust classes instead of records.
Currently recursive field in class would cause internal compiler error.
Now struct pointers are represented as *c_void, so recursive structs can be compiled.
However we have to do casts for these pointers.
This seems to work as of master.