Skip to content

Commit 871d9ba

Browse files
authored
Merge pull request #1 from BitlyTwiser/development
Optional ints bug
2 parents aa3d890 + e5eff9e commit 871d9ba

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/main.zig

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ const snek = @import("lib.zig").Snek;
55
const T = struct {
66
name: []const u8,
77
location: u32,
8+
optional_location: ?u32,
9+
opt_int: ?usize,
810
exists: bool,
911
necessary: ?bool,
1012
filled_optional: ?[]const u8,
@@ -18,5 +20,5 @@ pub fn main() !void {
1820
const parsed_cli = try cli.parse();
1921

2022
// Necessary is skipped here to showcase optional values being ignored
21-
std.debug.print("Name: {s}\n Location: {d}\n Exists: {any}\n Defualt value: {s}\n Filled Optional: {s}\n", .{ parsed_cli.name, parsed_cli.location, parsed_cli.exists, parsed_cli.default_name, parsed_cli.filled_optional orelse "badvalue" });
23+
std.debug.print("Name: {s}\n Location: {d}\n Exists: {any}\n Defualt value: {s}\n Filled Optional: {s}\n Optional int: {d}\n Necessary: {any}", .{ parsed_cli.name, parsed_cli.location, parsed_cli.exists, parsed_cli.default_name, parsed_cli.filled_optional orelse "badvalue", parsed_cli.opt_int orelse 420, parsed_cli.necessary orelse false });
2224
}

src/sneaky.zig

+2-2
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,10 @@ pub fn Snek(comptime CliInterface: type) type {
166166
@field(&interface, field.name) = try self.parseBool(serialized_arg.value);
167167
},
168168
.Int => {
169-
@field(&interface, field.name) = try self.parseNumeric(field.type, serialized_arg.value);
169+
@field(&interface, field.name) = try self.parseNumeric(@Type(field_type), serialized_arg.value);
170170
},
171171
.Float => {
172-
@field(&interface, field.name) = try self.parseNumeric(field.type, serialized_arg.value);
172+
@field(&interface, field.name) = try self.parseNumeric(@Type(field_type), serialized_arg.value);
173173
},
174174
.Pointer => {
175175
// .Pointer is for strings since the underlying type is []const u8 which is a .Pointer type

0 commit comments

Comments
 (0)