Future Work
In this chapter I'll mention work I'd like to implement one day. Feel free to implement any of it if you want — after notifying me so we can discuss the implementation details I have in mind, keep track of your work and help you if you allow me to :)
Header Generation
Right now ezffi uses cbindgen, but I personally don't like it for my use case in this crate (it's a really good tool but not the best fit for the project I'm building here). The reasons are the following:
- To generate multiple headers depending on the enabled feature I have to make a mess: I need hidden features per each header I want to generate, and it is far from ideal.
- It increases the amount of boilerplate users have to write in their
build.rsand forces me to explain why they should generate their header in thetarget/<profile>/includefolder I talk about in the Getting Started. - It requires a flag in the
build.rsto be able to expand macros on stable toolchains.
Lang wrappers generation
It would be nice to attach some metadata to each exported item to later generate quick wrappers in other languages. I have an idea of how this would work and how to allow people to write their own generator, given a framework written by the ezffi maintainers that reads the already-mentioned metadata and shares it with the language-specific implementation.