authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-08-09 16:32:23-07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-08-09 16:32:23-07:00
log999b68bfbd1498c65560766c545edaef8f14d894
tree3a69e66287600859f8a90a4d6444c7f7ea3a914e
parent8eddeb4e2e5505ec581789da52d2845c7b72dd6e
signature Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

fmt: remove struct printing


1 files changed, 1 insertions(+), 37 deletions(-)

fmt.zig+1-37
...@@ -427,7 +427,7 @@ fn formatType(value: anytype, comptime fmt: []const u8, options: FormatOptions,...@@ -427,7 +427,7 @@ fn formatType(value: anytype, comptime fmt: []const u8, options: FormatOptions,
427 if (comptime std.meta.hasMethod(T, "format") and @typeInfo(@TypeOf(T.format)).@"fn".params[1].type.? != *std.Io.Writer) {427 if (comptime std.meta.hasMethod(T, "format") and @typeInfo(@TypeOf(T.format)).@"fn".params[1].type.? != *std.Io.Writer) {
428 @compileError("fix this: " ++ @typeName(T));428 @compileError("fix this: " ++ @typeName(T));
429 }429 }
430 if (std.meta.hasMethod(T, "nprint")) {430 if (comptime std.meta.hasMethod(T, "nprint")) {
431 return value.nprint(writer);431 return value.nprint(writer);
432 }432 }
433433
...@@ -497,42 +497,6 @@ fn formatType(value: anytype, comptime fmt: []const u8, options: FormatOptions,...@@ -497,42 +497,6 @@ fn formatType(value: anytype, comptime fmt: []const u8, options: FormatOptions,
497 }497 }
498 return;498 return;
499 },499 },
500 .@"struct" => |info| {
501 if (actual_fmt.len != 0) invalidFmtError(fmt, value);
502 if (info.is_tuple) {
503 // Skip the type and field names when formatting tuples.
504 if (max_depth == 0) {
505 return writer.writeAll("{ ... }");
506 }
507 try writer.writeAll("{");
508 inline for (info.fields, 0..) |f, i| {
509 if (i == 0) {
510 try writer.writeAll(" ");
511 } else {
512 try writer.writeAll(", ");
513 }
514 try formatType(@field(value, f.name), "any", options, writer, max_depth - 1);
515 }
516 return writer.writeAll(" }");
517 }
518 try writer.writeAll(@typeName(T));
519 if (max_depth == 0) {
520 return writer.writeAll("{ ... }");
521 }
522 try writer.writeAll("{");
523 inline for (info.fields, 0..) |f, i| {
524 if (i == 0) {
525 try writer.writeAll(" .");
526 } else {
527 try writer.writeAll(", .");
528 }
529 try writer.writeAll(f.name);
530 try writer.writeAll(" = ");
531 try formatType(@field(value, f.name), "any", options, writer, max_depth - 1);
532 }
533 try writer.writeAll(" }");
534 return;
535 },
536 .pointer => |ptr_info| switch (ptr_info.size) {500 .pointer => |ptr_info| switch (ptr_info.size) {
537 .one => switch (@typeInfo(ptr_info.child)) {501 .one => switch (@typeInfo(ptr_info.child)) {
538 .array, .@"enum", .@"union", .@"struct" => {502 .array, .@"enum", .@"union", .@"struct" => {