uniffi-rs
uniffi-rs copied to clipboard
a multi-language bindings generator for rust
A common pattern we use in [application-services](https://github.com/mozilla/application-services/) is to run SQLite queries using a foreign-managed task queue (`Dispatchers.IO` on Kotlin, `DispatchQueue` on Swift, etc). Could UniFFI support this as a...
I followed the [tutorial for generating the bindgen binary](https://github.com/mozilla/uniffi-rs/blob/ee14b57baf868e2ded9f26681111392ff438b0fa/docs/manual/src/tutorial/foreign_language_bindings.md?plain=1#L5-L29), and it works for generating bindings! However, now when I call `cargo build` on my (single crate) project, I get an...
From sprites example, using `v0.25.0`. ``` $ nm target/debug/libuniffi_sprites.so | grep " ffi_uniffi_sprites" 0000000000018ce0 T ffi_uniffi_sprites_foreign_executor_callback_set 0000000000018bd0 T ffi_uniffi_sprites_rustbuffer_alloc 0000000000018c50 T ffi_uniffi_sprites_rustbuffer_free 0000000000018c00 T ffi_uniffi_sprites_rustbuffer_from_bytes 0000000000018ca0 T ffi_uniffi_sprites_rustbuffer_reserve 0000000000019020 T...
My `uniffi` version is `0.21.0`. I think there might be an issue when trying to construct uniffi types within a Jetpack Compose `@Preview @Composable`, but I'm not sure if it's...
Adding new fields to a struct returned by a uniffi function does not influence the function checksum. If new bindings are generated after adding the field, and library is not...
`RustBuffer` is currently defined as: ``` pub struct RustBuffer { capacity: i32, len: i32, data: *mut u8, } ``` I'd think this should change to just a `*mut u8`. We...
Trying to copy [rondpoint's hashmap test](https://github.com/mozilla/uniffi-rs/blob/7acfce022c1c394d9f91c390874557e611b47385/examples/rondpoint/src/lib.rs#L64-L68) ```rust #[uniffi::export] fn return_hashmap(h: HashMap) -> HashMap { h } ``` fails trying to call it in Python: ``` File "/Users/skip/src/moz/uniffi-rs/target/tmp/uniffi-fixture-proc-macro-b83c1fa2d45093c5/proc_macro.py", line 1883, in...
Hi there! Our team uses a custom release profile to reduce the size of the binaries and final libraries. I'm wondering if the Mozilla team has any special insights into...
It would be nice if I could use an `interface` (object) type as a field of an enum variant. Currently, this failes with: ``` thread 'main' panicked at 'Building the...
Currently `uniffi_udl`'s enum variant `APIConverter` expects everything to be of type `Identifier` [here](https://github.com/mozilla/uniffi-rs/blob/main/uniffi_udl/src/converters/mod.rs#L55-L63). The parsing taking place prior to this point though seems to be over-aggressive and will parse some...