godot-rust / gdnative

Rust bindings for Godot 3
https://godot-rust.github.io
MIT License
3.62k stars 210 forks source link

Add #[non_exhaustive] attributes where applicable #987

Closed chitoyuu closed 1 year ago

chitoyuu commented 1 year ago

A number of public enums that aren't really supposed to be exhaustively pattern matched on, like FromVariantError, are missing #[non_exhaustive] attributes. This makes it breaking to add new variants and fields to them.

This is technically a breaking change, even though exhaustive matching isn't intended for them and should be very rare in the wild anyway.

Applicable types can be added here as they are discovered to serve as a reminder.