@@ -25,7 +25,7 @@ pub fn parse(
2525 errdefer {
2626 inline for (fields , seen ) | field , seen_field | {
2727 if (seen_field ) {
28- free_field (allocator , @field (result , field .name ));
28+ freeField (allocator , @field (result , field .name ));
2929 }
3030 }
3131 }
@@ -38,7 +38,7 @@ pub fn parse(
3838
3939 inline for (fields , seen ) | field , seen_field | {
4040 if (! seen_field ) {
41- if (@typeInfo (strip_optional (field .type )) == .bool ) {
41+ if (@typeInfo (stripOptional (field .type )) == .bool ) {
4242 @field (result , field .name ) = false ;
4343 } else {
4444 try stderr .print (
@@ -92,7 +92,7 @@ fn setFromCli(
9292 std .mem .replaceScalar (u8 , arg , '-' , '_' );
9393 inline for (@typeInfo (T ).@"struct" .fields , seen ) | field , * seen_field | {
9494 if (! seen_field .* and std .ascii .eqlIgnoreCase (arg , field .name )) {
95- const t = @typeInfo (strip_optional (field .type ));
95+ const t = @typeInfo (stripOptional (field .type ));
9696 if (t == .bool ) {
9797 @field (result , field .name ) = true ;
9898 } else {
@@ -146,7 +146,7 @@ fn setFromEnv(
146146 std .mem .replaceScalar (u8 , key , '-' , '_' );
147147 inline for (@typeInfo (T ).@"struct" .fields , seen ) | field , * seen_field | {
148148 if (! seen_field .* and std .ascii .eqlIgnoreCase (key , field .name )) {
149- switch (@typeInfo (strip_optional (field .type ))) {
149+ switch (@typeInfo (stripOptional (field .type ))) {
150150 .bool = > {
151151 const value = try a .dupe (u8 , entry .value_ptr .* );
152152 defer a .free (value );
@@ -176,7 +176,7 @@ fn setFromDefaults(
176176 inline for (@typeInfo (T ).@"struct" .fields , seen ) | field , * seen_field | {
177177 if (! seen_field .* ) {
178178 if (field .defaultValue ()) | default | {
179- switch (@typeInfo (strip_optional (field .type ))) {
179+ switch (@typeInfo (stripOptional (field .type ))) {
180180 .bool , .int , .float , .@"enum" = > {
181181 @field (result , field .name ) = default ;
182182 },
@@ -197,7 +197,7 @@ fn printUsage(T: type, allocator: std.mem.Allocator, argv0: []const u8) !void {
197197 try stdout .print ("Options:\n " , .{});
198198 const fields = @typeInfo (T ).@"struct" .fields ;
199199 inline for (fields ) | field | {
200- switch (@typeInfo (strip_optional (field .type ))) {
200+ switch (@typeInfo (stripOptional (field .type ))) {
201201 .bool = > {
202202 const flag_version = try allocator .dupe (u8 , field .name );
203203 defer allocator .free (flag_version );
@@ -214,16 +214,16 @@ fn printUsage(T: type, allocator: std.mem.Allocator, argv0: []const u8) !void {
214214 }
215215}
216216
217- fn strip_optional (T : type ) type {
217+ fn stripOptional (T : type ) type {
218218 const info = @typeInfo (T );
219219 if (info != .optional ) return T ;
220- return strip_optional (info .optional .child );
220+ return stripOptional (info .optional .child );
221221}
222222
223- fn free_field (allocator : std.mem.Allocator , field : anytype ) void {
223+ fn freeField (allocator : std.mem.Allocator , field : anytype ) void {
224224 switch (@typeInfo (@TypeOf (field ))) {
225225 .pointer = > allocator .free (field ),
226- .optional = > if (field ) | v | free_field (allocator , v ),
226+ .optional = > if (field ) | v | freeField (allocator , v ),
227227 .bool , .int , .float , .@"enum" = > {},
228228 else = > @compileError ("Disallowed struct field type." ),
229229 }
0 commit comments