#reflection #repr #transparent #enums #counterpart #proc #ffi-reflect

macro ffi_reflect_derive

A derive proc macro counterpart of the ffi_reflect

2 stable releases

1.0.1 May 10, 2023
1.0.0 May 6, 2023

#10 in #counterpart


Used in 2 crates (via ffi_reflect)

MIT license

15KB
326 lines

ffi_reflect

The ffi_reflect is a compile time reflection library, that provides the FfiReflect derive macro. The macro itself generates a fucntion pub const fn ffi_reflect() -> FfiType<'static> that can be useful for bindings generation.

You can derive the FfiReflect only on structs that are marked with #[repr(C)] or #[repr(transparent)], on enums that are marked with #[repr($INTEGER_TYPE)] and unions that are marked with #[repr(C)].

You can use the ffi_reflect_csharp to generate C#-types with the exact same memory layout.

Dependencies

~315–770KB
~18K SLoC