Fix compile issue in generated bitset XXChoiceValues struct #1068
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.
Before the fix, the generated bitset-related code looked like this:
type PresenceMapChoiceValue uint8
type PresenceMapChoiceValues struct {
FooField PresenceMapChoiceValue
BarField PresenceMapChoiceValue
}
var PresenceMapChoice = PresenceMapChoiceValues{uint64(0), uint64(1)}
This caused a compile error:
cannot use uint64(0) (constant 0 of type uint64) as PresenceMapChoiceValue value in struct literal
compilerIncompatibleAssign
The issue is that uint64(0) cannot be directly assigned to a field of type PresenceMapChoiceValue (uint8 alias).
After the fix, the generated code is:
var PresenceMapChoice = PresenceMapChoiceValues{0, 1}
This is simple, correct, and compiles without the issues before.