uniffi-rs
uniffi-rs copied to clipboard
a multi-language bindings generator for rust
@bendk [asked my in this Matrix thread](https://matrix.to/#/!tsNDDGHvNGVNmvOOzi:mozilla.org/$w1jdiFwzlq5GKoK2Uv3gUzoodvZfG9Ph_YEUT63fEjY?via=mozilla.org&via=matrix.org&via=element.io) to open a GH issue for this # Context I'm writing a lib which must fully control Serde and UniFFI exporting of all...
Hello, I am in the process of verifying the usage of this [library](https://github.com/Sajjon/RadixWalletKit) with Kotlin built by @Sajjon that uses UniFFI. During testing, we encountered a situation that, while not...
Part of #1792 I started with proc macros as trying to get the types in UDL is painful (without trying to hackily do stuff like putting the type into the...
In https://github.com/mozilla/uniffi-rs/pull/381 we added support for enums with associated data, but it doesn't properly support *recursive* enums, like the classic "tree" example where the enum variants are `Tree::Leaf` and `Tree::Branch(left:...
We've run into an issue where passing a large enough `bytes` sequence into Rust will cause a panic in `RustBuffer::from_vec` due to the `Vec`'s capacity exceeding `i32::MAX`. This is despite...
We've been exploring using UniFFI for our updated version of a core library to make things easier on us than using straight C FFI code & hand written wrappers. Problem...
I'm using UniFFI with the third-party [Kotlin Multiplatform Binding](https://gitlab.com/trixnity/uniffi-kotlin-multiplatform-bindings) generation on a Compose Multiplatform app. Since I'm accessing native APIs on the Rust side as well, I encounter cases where...
The metadata code now uses this trait to get the `TYPE_ID_METADATA` rather than Lift/Lower. This feels cleaner, since it was often not clear which trait to use before. This removes...
This is split out from #1840 and accompanies #1658 The question is how to handle this UDL: ``` i32 default_first(optional i32 left = 1, i32 right); ``` (1) not support...
Using procmacros I have defined a trait in a crate `shared` to be implemented by the foreign code: ```rust #[uniffi::export(with_foreign)] pub trait Tester: Send + Sync { fn test(&self) ->...