diff options
Diffstat (limited to 'src/extended.zig')
| -rw-r--r-- | src/extended.zig | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/extended.zig b/src/extended.zig index b94f6f5..31e6455 100644 --- a/src/extended.zig +++ b/src/extended.zig | |||
| @@ -103,13 +103,13 @@ pub const Command = struct { | |||
| 103 | return res; | 103 | return res; |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | pub fn parse(comptime command: &const Command, allocator: &mem.Allocator, arg_iter: &core.ArgIterator) !command.Result { | 106 | pub fn parse(comptime command: &const Command, allocator: &mem.Allocator, arg_iter: var) !command.Result { |
| 107 | const Parent = struct {}; | 107 | const Parent = struct {}; |
| 108 | var parent = Parent{}; | 108 | var parent = Parent{}; |
| 109 | return command.parseHelper(&parent, allocator, arg_iter); | 109 | return command.parseHelper(&parent, allocator, arg_iter); |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | fn parseHelper(comptime command: &const Command, parent: var, allocator: &mem.Allocator, arg_iter: &core.ArgIterator) !command.Result { | 112 | fn parseHelper(comptime command: &const Command, parent: var, allocator: &mem.Allocator, arg_iter: var) !command.Result { |
| 113 | const Result = struct { | 113 | const Result = struct { |
| 114 | parent: @typeOf(parent), | 114 | parent: @typeOf(parent), |
| 115 | result: command.Result, | 115 | result: command.Result, |
| @@ -159,11 +159,10 @@ pub const Command = struct { | |||
| 159 | }; | 159 | }; |
| 160 | 160 | ||
| 161 | var pos: usize = 0; | 161 | var pos: usize = 0; |
| 162 | var iter = core.Clap(usize).init(core_params, arg_iter, allocator); | 162 | var clap = core.Clap(usize, @typeOf(arg_iter.*).Error).init(core_params, arg_iter); |
| 163 | defer iter.deinit(); | ||
| 164 | 163 | ||
| 165 | arg_loop: | 164 | arg_loop: |
| 166 | while (try iter.next()) |arg| : (pos += 1) { | 165 | while (try clap.next()) |arg| : (pos += 1) { |
| 167 | inline for(command.params) |param, i| { | 166 | inline for(command.params) |param, i| { |
| 168 | comptime const field = "result." ++ param.field; | 167 | comptime const field = "result." ++ param.field; |
| 169 | 168 | ||