build: port to zig-0.16.0-dev.3133+5ec8e45f3

This commit is contained in:
CJ van den Berg 2026-04-09 18:50:30 +02:00
parent 66c28df31b
commit 1b7cd31925
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
3 changed files with 10 additions and 11 deletions

View file

@ -2,7 +2,7 @@
.name = .cbor,
.version = "1.1.0",
.fingerprint = 0x1feaffc7fc04c445,
.minimum_zig_version = "0.15.2",
.minimum_zig_version = "0.16.0-dev.3133+5ec8e45f3",
.paths = .{
"src",

View file

@ -207,8 +207,7 @@ fn writeUnion(writer: *Io.Writer, value: anytype, info: std.builtin.Type.Union)
inline for (info.fields) |u_field| {
const t = @field(TagType, u_field.name);
if (value == t) {
const Payload = std.meta.TagPayload(T, t);
if (Payload != void) {
if (@FieldType(T, @tagName(t)) != void) {
try writeArrayHeader(writer, 2);
try writeEnum(writer, value);
return try writeValue(writer, @field(value, u_field.name));
@ -577,16 +576,16 @@ fn matchUnionScalar(comptime T: type, iter_: *[]const u8, val_: *T) Error!bool {
inline for (comptime std.meta.tags(TagType)) |t_| {
if (t_ == unionTag) {
const Payload = std.meta.TagPayload(T, t_);
const FieldType = @FieldType(T, @tagName(t_));
if (Payload == void) {
if (FieldType == void) {
if (n != 1) return false;
val_.* = t_;
iter_.* = iter;
return true;
} else {
if (n != 2) return false;
var val: Payload = undefined;
var val: FieldType = undefined;
if (try matchValue(&iter, extract(&val))) {
val_.* = @unionInit(T, @tagName(t_), val);
iter_.* = iter;
@ -615,16 +614,16 @@ fn matchUnionAlloc(comptime T: type, iter_: *[]const u8, val_: *T, allocator: st
inline for (comptime std.meta.tags(TagType)) |t_| {
if (t_ == unionTag) {
const Payload = std.meta.TagPayload(T, t_);
const FieldType = @FieldType(T, @tagName(t_));
if (Payload == void) {
if (FieldType == void) {
if (n != 1) return false;
val_.* = t_;
iter_.* = iter;
return true;
} else {
if (n != 2) return false;
var val: Payload = undefined;
var val: FieldType = undefined;
if (try matchValue(&iter, extractAlloc(&val, allocator))) {
val_.* = @unionInit(T, @tagName(t_), val);
iter_.* = iter;
@ -651,7 +650,7 @@ fn matchUnionValue(comptime T: type, iter_: *[]const u8, val: T) Error!bool {
if (!try matchEnumValue(std.meta.Tag(T), &iter, t)) return false;
if (std.meta.TagPayload(T, t) != void) {
if (@FieldType(T, @tagName(t)) != void) {
if (n != 2) return false;
if (!try matchValue(&iter, v)) return false;
} else {

View file

@ -55,7 +55,7 @@ test "cbor.fmtBuf success" {
test "cbor.fmtBuf overflow" {
var buf: [4]u8 = undefined;
try expectError(error.NoSpaceLeft, fmtBuf(&buf, .{ "five", 5, "four", 4, .{ "three", 3 } }));
try expectError(error.WriteFailed, fmtBuf(&buf, .{ "five", 5, "four", 4, .{ "three", 3 } }));
}
test "cbor exit message" {