Closed alice-i-cecile closed 1 year ago
Bitflags are relatively obscure, rely on an extra dependency, and are hard to immediately understand and grok.
We have no need for this complexity (or theoretical performance) in our CI scripts. Removing dependencies is always nice too.
Remove them in favor of a HashSet + enums approach, as I did in my Bevy-inspired CI setup here.
We could use strum or a first-party equivalent to generate the complete list of enum variants.
strum
It won't remove a dependency for Bevy contributors, as bitflags is a dependency of Bevy.
bitflags
Enums are very much not the right tool for this, and would increase complexity, as can be seen in your PR...
What problem does this solve or what need does it fill?
Bitflags are relatively obscure, rely on an extra dependency, and are hard to immediately understand and grok.
We have no need for this complexity (or theoretical performance) in our CI scripts. Removing dependencies is always nice too.
What solution would you like?
Remove them in favor of a HashSet + enums approach, as I did in my Bevy-inspired CI setup here.
What alternative(s) have you considered?
We could use
strum
or a first-party equivalent to generate the complete list of enum variants.