Contributor advice on the use of non_exhaustive
enums
#8044
Labels
A-Meta
About the project itself
C-Code-Quality
A section of code that is hard to understand or change
What problem does this solve or what need does it fill?
Any addition of a variant to a public enum is a semver incompatible breaking change, as seen in #8042. If we're looking to make patch releases a regular thing, and as the engine heads towards stability, a common policy on the use of the
non_exhaustive
attribute on public enums should be in place.What solution would you like?
Set up a common policy of some kind. Document it well. Enforce it during code review.
What alternative(s) have you considered?
Leave all of our enums as is, let changes be breaking.
Additional context
https://doc.rust-lang.org/reference/attributes/type_system.html
The text was updated successfully, but these errors were encountered: