commit 1ba5510545a5dc11ccc34c3f05d5e8bd014e05a3
parent 85662e92341a2e4d97ffc9ba602393e923cb3b88
Author: Sebastian <sebastian@sebsite.pw>
Date: Sun, 15 Sep 2024 20:37:56 -0400
errors: guarantee 8-byte alignment for opaque data
So 8-byte-aligned types like u64 can be portably stored in it. This only
affects the representation on 32-bit platforms.
Signed-off-by: Sebastian <sebastian@sebsite.pw>
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/errors/opaque.ha b/errors/opaque.ha
@@ -26,5 +26,6 @@ export type opaque_ = !struct {
};
// Up to 24 bytes of arbitrary data that the opaque error type may use for
-// domain-specific storage.
-export type opaque_data = [24]u8;
+// domain-specific storage. The data is properly aligned (8 bytes) for any Hare
+// type.
+export type opaque_data = [3]u64;