Another default that should change is the way we translate C/C++ enums to Rust:
bindgen computes some properties of the C/C++ items it is generating bindings for in an ad-hoc way. Example properties we’re computing include whether a struct can derive
Debug or if it has a vtable. The ad-hoc approach has proven to be error prone (and I suspect inefficient as well). We now have infrastructure to do these analyses in a more principled way and we’re looking for some help porting them
Meta issue (has context + discussion): https://github.com/servo/rust-bindgen/issues/536
Issues for porting each computation:
We’ve recently released PumpkinDB 0.2 and there are a lot of upcoming major improvements; and we’re always looking for contributors interested in this topic. We also maintain a list of “starter” issues, some of which you can find below:
Rust is in great need of volunteers interested in making a dent in some of the libz blitz crates. There are a bunch of important crates that need to be polished up (like csv, mime, regex, semver, tar, threadpool, toml), but the first step for each is figuring out the the polish to be applied. This task basically amounts to comparing these API guidelines to a given crate, noting where the crate can be improved, and posting to an internals thread for feedback, then finally filing issues and posting them back here to solicit help resolving them.
Imagine the impact you can have by generating and resolving 20 issues against the toml crate!
There are more details about the process in this post. If you are interested but the process looks intimidating, feel free to email me and I can help you get started.
Sorry this doesn’t fit into a one-liner for twir, but I know plenty of people ‘front-run’ this thread, so maybe somebody will see and be interested.
Some cookbook recipes in need of writing:
We need help evaluating three crates right now. Details explained on thread.