Contributor advice on the use of `non_exhaustive` enums
Open
A-Meta
C-Code-Quality
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
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
Contributor guide
Assessment
This issue has not been assessed yet.