Open
Description
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