Require KWargs for struct initialization #260
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.
What was wrong?
Example:
Currently,
House
can be instantiated asHouse(true, 1000000)
.This means:
How was it fixed?
With this change it is required to be instantiated like
House(vacant=true, price=1000000)
While working on this it got me thinking if this is something that should be handled on the parser stage instead but I don't think that would be straight forward because technically there is nothing the syntax is identical with method invocation syntax.
We could move this into the parser stage if we used a distinct syntax such as
House(vacant: true, price: 100)
. But I'm personally ok to keep it as with the check being handled by the analyzer.