@@ -106,15 +106,15 @@ fn setFromCli(
106106 std .process .exit (1 );
107107 }
108108 switch (t ) {
109- // TODO
110- .int , .float , .@"enum" = > comptime unreachable ,
109+ .int = > @field ( result , field . name ) =
110+ try std . fmt . parseInt ( field . type , args [ i ], 0 ) ,
111111 .pointer = > @field (
112112 result ,
113113 field .name ,
114114 ) = try allocator .dupe (u8 , args [i ]),
115115 .bool = > comptime unreachable ,
116116 else = > @compileError (
117- "Disallowed struct field type." ,
117+ "Disallowed or unimplemented struct field type." ,
118118 ),
119119 }
120120 }
@@ -153,13 +153,15 @@ fn setFromEnv(
153153 @field (result , field .name ) = value .len > 0 and
154154 ! std .ascii .eqlIgnoreCase (value , "false" );
155155 },
156- // TODO
157- .int , .float , .@"enum" = > comptime unreachable ,
156+ .int = > @field ( result , field . name ) =
157+ try std . fmt . parseInt ( field . type , entry . value_ptr .* , 0 ) ,
158158 .pointer = > @field (
159159 result ,
160160 field .name ,
161161 ) = try allocator .dupe (u8 , entry .value_ptr .* ),
162- else = > @compileError ("Disallowed struct field type." ),
162+ else = > @compileError (
163+ "Disallowed or unimplemented struct field type." ,
164+ ),
163165 }
164166 seen_field .* = true ;
165167 }
0 commit comments