Skip to main content

yog_export

Attribute Macro yog_export 

Source
#[yog_export]
Expand description

Inter-mod communication proc-macros. Universal export macro — works on both structs and functions.

On structs: auto-derives rkyv::Archive, rkyv::Serialize, rkyv::Deserialize. Equivalent to:

#[derive(rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
#[archive(check_bytes)]
struct MyStruct { ... }

On functions: generates a C-ABI wrapper using rkyv zero-copy serialization + auto-registers the export via export_mod!.

Supported fn signatures:

  • fn(InputType) -> OutputType (single arg)
  • fn() -> OutputType (no arg)
  • fn(InputType) (no return) For multi-arg: fn((A, B)) -> C.

No manual registry.interop().export() needed.