fix: writing of large unsigned integers
This commit is contained in:
parent
baab48ec3d
commit
2edec49b7f
1 changed files with 2 additions and 1 deletions
|
|
@ -255,7 +255,8 @@ fn writeUnion(writer: *Io.Writer, value: anytype, info: std.builtin.Type.Union)
|
|||
pub fn writeValue(writer: *Io.Writer, value: anytype) Io.Writer.Error!void {
|
||||
const T = @TypeOf(value);
|
||||
switch (@typeInfo(T)) {
|
||||
.int, .comptime_int => return if (T == u64) writeU64(writer, value) else writeI64(writer, @intCast(value)),
|
||||
.int => |info| return if (info.signedness == .unsigned) writeU64(writer, @intCast(value)) else writeI64(writer, @intCast(value)),
|
||||
.comptime_int => return if (value >= 0) writeU64(writer, @intCast(value)) else writeI64(writer, @intCast(value)),
|
||||
.bool => return writeBool(writer, value),
|
||||
.optional => return if (value) |v| writeValue(writer, v) else writeNull(writer),
|
||||
.error_union => return if (value) |v| writeValue(writer, v) else |err| writeValue(writer, err),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue