Remove the ability of the go! macro to create enum variants#741
Merged
Conversation
This is incredibly confusing when reading the code as it is hard to see that `go! to Enum Variant1 VariantA` constructs `Enum(Variant1(VariantA))`. This kind of non-standard Rust makes the code hard to read by new contributors. In addition, constructing the variants like this interferes with our ability to make changes using `rust-analyzer` which is a very useful tool. This change removes this feature in favor of just writing out the enum variant directly and starts using the fully qualified name of the state enum in more places. Signed-off-by: Martin Robinson <martin@abandonedwig.info>
simonwuelker
approved these changes
May 17, 2026
Member
simonwuelker
left a comment
There was a problem hiding this comment.
I would be very happy if we could get rid of go! altogether
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.
This is incredibly confusing when reading the code as it is hard to see
that
go! to Enum Variant1 VariantAconstructsEnum(Variant1(VariantA)). This kind of non-standard Rust makes thecode hard to read by new contributors. In addition, constructing the
variants like this interferes with our ability to make changes using
rust-analyzerwhich is a very useful tool.This change removes this feature in favor of just writing out the enum
variant directly and starts using the fully qualified name of the state
enum in more places.