After First is parsed, there will be no remaining args. If Second.Min == 0, it will just use its default/zero value. If Second.Min > 0, this will result in an insufficient arg count error. Both of those behaviors seem intuitive to me, but we could also add a runtime check and proactively error if an unbounded arg is defined as anything other than the last argument.
What type of PR is this?
What this PR does / why we need it:
Fixes the following:
Parse
exits early when comparingcount >= -1
.Special notes for your reviewer:
If more arguments are defined after an unbounded argument, the end user may experience an error:
After
First
is parsed, there will be no remaining args. IfSecond.Min
== 0, it will just use its default/zero value. IfSecond.Min
> 0, this will result in an insufficient arg count error. Both of those behaviors seem intuitive to me, but we could also add a runtime check and proactively error if an unbounded arg is defined as anything other than the last argument.Testing
Unit tests updated with cases for variadic args.
Release Notes