diff options
Diffstat (limited to 'src/libzisp/io/unparser.zig')
| -rw-r--r-- | src/libzisp/io/unparser.zig | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/libzisp/io/unparser.zig b/src/libzisp/io/unparser.zig index dd48364..d65ffb0 100644 --- a/src/libzisp/io/unparser.zig +++ b/src/libzisp/io/unparser.zig @@ -5,7 +5,6 @@ const value = @import("../value.zig"); const ShortString = value.ShortString; const OtherTag = value.OtherTag; const Value = value.Value; -const Hval = value.Hval; pub fn unparse(w: anytype, v: Value) anyerror!void { try if (value.double.check(v)) @@ -33,7 +32,7 @@ fn unparseFixnum(w: anytype, v: Value) !void { fn unparseHeap(w: anytype, v: Value) !void { const p, const t = value.ptr.unpack(v); try switch (t) { - .pair => unparsePair(w, p), + .pair => unparsePair(w, @ptrCast(p)), else => @panic("not implemented"), }; } @@ -82,11 +81,10 @@ fn unparseMisc(w: anytype, v: Value) !void { }; } -fn unparsePair(w: anytype, p: [*]Hval) !void { - const vs: *[2]Value = @ptrCast(p); +fn unparsePair(w: anytype, p: *[2]Value) !void { try w.writeByte('('); - try unparse(w, vs[0]); - var cdr = vs[1]; + try unparse(w, p[0]); + var cdr = p[1]; while (value.pair.check(cdr)) : (cdr = value.pair.cdr(cdr)) { try w.writeByte(' '); try unparse(w, value.pair.car(cdr)); |
