LEGACY DOCS · 12.0Stable is 13.2. This page stays because it still owns historical or unchanged contracts.CURRENT 13.2 →
RELEASE LINE13.2 STABLE13.1 PREDECESSOR13.0 PREVIOUS12.4 NATIVE MIRARCHIVE

V12.0 BASE CONTRACT

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.