> add LLVM CFI and cross-language LLVM CFI (and LLVM KCFI and cross-language LLVM KCFI) to the Rust compiler as part of our work in the Rust Exploit Mitigations Project Group. This is the first cross-language, fine-grained, forward-edge control flow protection implementation for mixed-language binaries that we know of.
Reminder that the #programming languages useful for #applications may not be the same as those used for #libraries that the applications use, and this is just fine, e.g. performance often requires that one does not rediscover the wheel by recoding libraries in #clang#cplusplus and #fortran because they are, for whatever reason , resistant to use a proper #ffi (or an #IPC) #api.
UniFFI can generate bindings for Rust async functions/methods to Python, Swift and Kotlin, with native async runtimes (resp. asyncio, Task and suspend).
That’s really exciting! Rust Future being driven by a foreign language async runtime, that’s pure fun.