Simplify/align macro overloads #139
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.



📒 Description
This PR makes two changes to simplify and align the
@Flagand@FlagGroupmacros:@FlagIt removes the
default:parameter from the@Flagmacro. This aligns with how swift-argument-parser does their default value specification, but more importantly removes this foot-gun:This is because the macro generic on the macro cannot be inferred from the property it is attached to, it must be self contained. Removing this overload makes adoption easier.
@FlagGroupA simplified overload for
@FlagGrouphas been added to align with@Flag:The
description:parameter label is now only required if you are also specifying thename:and/orkeyStrategy:parameters.🗳 Test Plan
This is fully covered by unit tests and macro tests.
🧯 Source Impact
Breaking change but this is part of the Vexil 3 alpha.
✅ Checklist