master
1const Writer = struct {
2 pub fn printValue(self: *Writer, value: anytype) !void {
3 switch (@typeInfo(@TypeOf(value))) {
4 .int => {
5 return self.writeInt(value);
6 },
7 .float => {
8 return self.writeFloat(value);
9 },
10 .pointer => {
11 return self.write(value);
12 },
13 else => {
14 @compileError("Unable to print type '" ++ @typeName(@TypeOf(value)) ++ "'");
15 },
16 }
17 }
18
19 fn write(self: *Writer, value: []const u8) !void {
20 _ = self;
21 _ = value;
22 }
23 fn writeInt(self: *Writer, value: anytype) !void {
24 _ = self;
25 _ = value;
26 }
27 fn writeFloat(self: *Writer, value: anytype) !void {
28 _ = self;
29 _ = value;
30 }
31};
32
33// syntax