Packed layouts
Declaration-order, repr(C), and repr(C, packed) layouts come from one TargetDataLayout.
DByte 12.0 · Systems
Contract§
Width-correct accesses remain required for packed storage.
Mechanics§
Normal, repr(C) and repr(C, packed) aggregates use one declaration-order layout engine. Fixed arrays multiply element stride with checked arithmetic; compile-time size_of and align_of read the same target decisions.
Validation and failure§
Overflow, incomplete recursion, invalid packed forms and unsupported C ABI aggregates are rejected. Backend lowering consumes field offsets rather than recomputing them.
Evidence and boundary§
Layout snapshots, exact encoder bytes and packed GDT/IDT structures connect abstract layout to real machine use.