Add exhaustive initialization lint to MachineStepResultJson#4688
Open
js360000 wants to merge 1 commit into
Open
Add exhaustive initialization lint to MachineStepResultJson#4688js360000 wants to merge 1 commit into
js360000 wants to merge 1 commit into
Conversation
Annotates `MachineStepResultJson` in validator/server_api/json.go with `// lint:require-exhaustive-initialization`. The struct has 4 fields (Hash, Position, Status, GlobalState) and only one initialization site in this repo (the adjacent MachineStepResultToJson helper), which already sets all four fields. No initializer changes needed. Adding the annotation ensures any future addition of a field to this struct will trip the linter on the existing initializer instead of silently zero-valuing, which is the goal stated in the issue. Addresses OffchainLabs#3121 following the one-struct-per-PR guidance from the maintainers in earlier threads.
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Annotates `MachineStepResultJson` in `validator/server_api/json.go` with `// lint:require-exhaustive-initialization`. Single-line diff, no init-site changes needed.
Details
The struct has 4 fields (`Hash`, `Position`, `Status`, `GlobalState`) and exactly one initialization site in the repo — the adjacent `MachineStepResultToJson` helper, which already sets all four fields explicitly. Adding the annotation locks that in: any future addition of a field will trip the linter on the existing initializer rather than silently zero-valuing.
Follows the one-struct-per-PR guidance from earlier threads on #3121.
Diff
```
validator/server_api/json.go | 1 +
1 file changed, 1 insertion(+)
```
Addresses
Addresses #3121.