Name Description Size
ffi_names.rs Functions to calculate names for FFI symbols All of these functions input a `namespace` parameter which is: - The UDL namespace for UDL-based generation - The "module path" of the item for proc-macro based generation. Right now this is actually just the crate name, but we eventually hope to make this the full module path. This could cause collisions in the case where you combine UDL and proc-macro generation and you set the UDL namespace to the name of another crate. This seems so pathological that it's not worth the code complexity to prevent it. 3347
group.rs 9358
lib.rs 15369
metadata.rs 3216
reader.rs 19824
types.rs # Basic typesystem for defining a component interface. This module provides the "API-level" typesystem of a UniFFI Rust Component, that is, the types provided by the Rust implementation and consumed callers of the foreign language bindings. Think "objects" and "enums" and "records". The [`Type`] enum represents high-level types that would appear in the public API of a component, such as enums and records as well as primitives like ints and strings. The Rust code that implements a component, and the foreign language bindings that consume it, will both typically deal with such types as their core concern. As a developer working on UniFFI itself, you're likely to spend a fair bit of time thinking about how these API-level types map into the lower-level types of the FFI layer as represented by the [`ffi::FfiType`](super::ffi::FfiType) enum, but that's a detail that is invisible to end users. 5404