Skip to content

Conversation

@wentywenty
Copy link

@wentywenty wentywenty commented Dec 7, 2025

This PR adds the generation of the ENUM_VALUES constant array for enums marked with the bit_flags attribute in Rust.

Motivation: Currently, standard enums generate an ENUM_VALUES array, but bit_flags enums do not. This makes it difficult to iterate over all defined base flag values (e.g., for UI lists, serialization helpers, or debugging).

Changes: Modified src/idl_gen_rust.cpp to generate an impl block containing ENUM_VALUES for bitflags, mirroring the behavior of standard enums.

@google-cla
Copy link

google-cla bot commented Dec 7, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions github-actions bot added c++ rust codegen Involving generating code from schema labels Dec 7, 2025
@wentywenty
Copy link
Author

@aardappel Hello, could you spare some time to review this PR? Thank you very much!

@aardappel
Copy link
Collaborator

what's a typical use case for this?

@jtdavis777
Copy link
Collaborator

would love to see a new test that showcases this feature <3

@wentywenty
Copy link
Author

@jtdavis777 That's a great idea! I will add a test case to demonstrate this feature.

@jtdavis777
Copy link
Collaborator

hey @wentywenty just checking in on that test case :)

@fawdlstty
Copy link
Contributor

@wentywenty Hello. do u need some help for this?

@jtdavis777 jtdavis777 added the waiting-for-update This PR is waiting for a change from the author or contributors before it is ready for merge label Dec 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ codegen Involving generating code from schema rust waiting-for-update This PR is waiting for a change from the author or contributors before it is ready for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants