uniffi-rs
uniffi-rs copied to clipboard
a multi-language bindings generator for rust
Added the `BlockingTaskQueue` type BlockingTaskQueue allows a Rust closure to be scheduled on a foreign thread where blocking operations are okay. The closure runs inside the parent future, which is...
In `0.25.0` this worked and the `bar` argument was treated as a normal `ByRef` argument. ``` #[uniffi::export] pub trait Foo: Send + Sync { fn foo(&self, bar: &Bar); } ```...
I'm trying to add audio functionality via [CPAL](https://github.com/RustAudio/cpal) to my library that is used in iOS and Android applications. Everything works on iOS, but on Android an error is thrown:...
Fixes #1884 --- I changed both docstring tests. We can unify those tests in a followup.
We should look into creating a single module on the foreign side that holds all shared functionality: RustBuffer, Future handling code, etc. There would be a couple advantages to this:...
This feature was added to make UniFFI work with the gecko-js bindings in mozilla-central. It currently only applies to the `RustBuffer` FFI functions, but any global FFI functions will require...
Without library mode, UniFFI 0.25.2 pushes the Rust trait information defined in UDL **twice** to `ComponentInterface`, once in `ComponentInterface::from_metadata`, and once in `macro_metadata::add_to_ci_from_library`. This makes duplicate overloads of methods like...
Use handle map handles to pass objects across the FFI,
Allow the Enum's underlying discriminants to be defined so we can leverage the foreign languages built-in functions. ```[tasklist] ### Tasks - [ ] Add support to the metadata (#1885) -...
Initially we took the raw comments in proc-macro code, which means the leading spaces (and trailing) are included. That's not so much a problem for printing them, because we do...