program: Add note about state types#74
Merged
Merged
Conversation
joncinque
reviewed
Jun 2, 2026
Comment on lines
+6
to
+9
| // | ||
| // Note: `Data` may be loaded directly from account data after only a | ||
| // length check (no owner check). All fields must be valid for any bit | ||
| // pattern. |
Contributor
There was a problem hiding this comment.
nit: it's a bit strange to say that a tagged union must be valid for any bit pattern, since that isn't the case. The constructor even takes in the DataSource to figure out which variant to create.
Would it make more sense to add this comment on the variant types themselves? Meaning, instead put the comment on DirectData, UrlData, and ExternalData
Contributor
Author
There was a problem hiding this comment.
Good point! The comment is only applicable for ExternalData, which is a struct, so I moved it there.
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.
Problem
Account types are loaded directly from account data, so only pod-like types must be used.
Solution
Add a note to the implementation of account types.