Diagnostic code · ARA0931
Component layout mismatch
A C# declaration or Rust engine binding disagrees with the Schema DB's canonical size, alignment or field offsets. The binding or module registration is rejected rather than exposing incompatible memory. A failed module replacement leaves the last good code running.
Common causes
- C# fields differ from schema order or use incompatible types or packing.
- A Rust component lacks
#[repr(C)], uses the wrong field offsets, or no longer matches its schema. - Generated bindings are stale after a schema change.
Fixes
Match fields and their order to the schema, use supported blittable types, and regenerate stale bindings.
Declare Rust engine components with
#[repr(C)]and correct the registered size, alignment and field offsets shown in the message.Code:
ARA0931Constant:
script::LAYOUT_MISMATCHReported by: ara-script