| 1 | const S = @This(); |
| 2 | pub fn main(init: std.process.Init) !void { |
| 3 | var stdout_writer = std.Io.File.stdout().writerStreaming(init.io, &.{}); |
| 4 | printFieldCount(&stdout_writer.interface) catch |err| switch (err) { |
| 5 | error.WriteFailed => return stdout_writer.err.?, |
| 6 | }; |
| 7 | printOneField(&stdout_writer.interface) catch |err| switch (err) { |
| 8 | error.WriteFailed => return stdout_writer.err.?, |
| 9 | }; |
| 10 | } |
| 11 | fn printFieldCount(w: *Writer) Writer.Error!void { |
| 12 | try w.print("{d} ", .{@typeInfo(S).@"struct".field_names.len}); |
| 13 | } |
| 14 | fn printOneField(w: *Writer) Writer.Error!void { |
| 15 | const val: S = .{ .x = 100 }; |
| 16 | try w.print("{d}\n", .{val.x}); |
| 17 | } |
| 18 | const std = @import("std"); |
| 19 | const Writer = std.Io.Writer; |