refactor: use RegistryOrIndex
enum to replace two booleans
#12677
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.
What does this PR try to resolve?
fn registry()
has two booleans representing--index
and--registry
respectively. However, they are inherently mutually exclusive and better to use a single sum typeRegistryOrIndex
to model them.How should we test and review this PR?
This PR is expected not to bring any behavior change. The only change is that the cli arg conflict detection is now moved to command line parsing phase (clap).
A new test
publish_failed_with_index_and_only_allowed_registry
demonstrates a quirky message was emitted whenpackage.publish = […]
contains the only one registry that trigger an implicit publish--index
arg was provided and took precedence over the implicit registry publishThis behavior should be fixed IMO but let's leave it to another PR.
Additional information