make FlagExclusivity.chooseFirst work #67
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, using a set of flags declared with FlagExclusivity.chooseFirst would result in an error instead of choosing the first from the command line. (See #66).
Detailed Design
Added a case handling repeating arguments in the
ArgumentSet.updateFlagfunction.The previous behaviour had the repeating-arguments-with-.chooseFirst situation going through the
defaultcase, which didn't add the current argument to the list of used arguments, which later caused an error due to the argument being incorrectly deemed to have not been used.Documentation Plan
No change to documentation is needed.
Test Plan
Tests added to
FlagsEndToEndTests.testParsing_invertandFlagsEndToEndTests.testParsingCaseIterable_RepeatableFlags.Source Impact
None.
Checklist
This PR fixes #66