Expand description
Crate zerodds-flatdata-derive. Safety classification: STANDARD
(proc-macro generiert unsafe impl FlatStruct — Layout-Garantien
werden vom Macro selbst geprueft, nicht vom Caller-Kommentar).
#[derive(FlatStruct)] fuer
zerodds_flatdata::FlatStruct.
Spec: docs/specs/zerodds-flatdata-1.0.md §1.2 (Derive-Macro).
§Schichten-Position
Layer 4 — Core Services (proc-macro fuer zerodds-flatdata).
§Public API (Stand 1.0.0-rc.1)
#[derive(FlatStruct)]— generiertunsafe impl FlatStruct for TmitTYPE_HASH = sha256(type_name + field_layout)[..16].
§Compile-Time-Checks
Der Macro lehnt mit compile_error! ab, wenn:
Tistenumoderunion(Layout nicht stable).Ttraegt weder#[repr(C)]noch#[repr(transparent)](Default-Repr ist undefiniert).
Die Copy + 'static + Send + Sync-Bounds werden vom Trait selbst
erzwungen — der Compiler emittiert verstaendliche Fehler beim
Versuch, ein Non-Copy-Type zu deriven.
§Beispiel
ⓘ
use zerodds_flatdata_derive::FlatStruct;
#[derive(Copy, Clone, FlatStruct)]
#[repr(C)]
struct Pose { x: f64, y: f64, z: f64 }Derive Macros§
- Flat
Struct #[derive(FlatStruct)]— generiertunsafe impl FlatStruct for T.