...
- Add the functionality to parse function signatures with associated types out of MIR to cbindgen (either by itself or in addition to Rust source code)
- Write tests that will cover the functionality of parsing associated types in cbindgen
- Open a PR to merge this code into cbindgen, progress with further tasks as we wait for this to be approved
Eval 2:
- Use iroha_ffi to generate extern functions out of existing Rust code
- Make corrections to the iroha_ffi library in this process if needed or write manual implementations of extern functions
Eval 3:
- Use cbindgen to generate C .h header files out of extern functions in the Rust source code
- Conduct manual testing
- Address the code bugs
Eval 43:
- Document the mentorship results
- Create a small app demonstrating that you have successfully linked the shared object with the C header files
- Present your results
Timeline
Dates | Tasks/Plan | Status | |||||
---|---|---|---|---|---|---|---|
June 1 - June 24 | revisit knowledge of Rust | done | |||||
June 25 - Aug 23 | fork the cbindgen repository | done | |||||
Aug 24 - Sept 6 |
| done | |||||
Sept 7 - Sept 20 | use cbindgen to generate C header file for exported FFI bindings. This will require cbindgen's features: 1. macro expansion 2. resolution of associated types via MIR (implemented during the previous stages of the internship) | Sept 21 - Oct 4 | Oct 5 - Oct 18 | Oct 19 - Nov 1 | Nov 2 - Nov 12Oct 18 | implement resolution of associated types by parsing source code of all dependent crates. create a solution to resolve mutually dependent associated types (topologically sort) | done |
Oct 19 - Nov24 | generate FFI bindings (.h files) for Iroha client using cbindgen | ||||||
Nov 25 - Dec 1 | write tests and open PR to cbindgen and prepare an article report | done |
Mentors
Name | Time zone | Discord ID | Telegram ID | Email ID |
---|---|---|---|---|
Marin Veršić | UTC+2 | mversic | @mingler101 | marin.versic101@gmail.com |
...
Name | Time zone | Discord ID | Telegram ID | Email ID |
---|---|---|---|---|
Orange | UTC+8 | orangeng | @orangeng | ngquanhao@gmail.com |
Merged PRs
- PR to cbindgen