 1248a639ee
			
		
	
	
		1248a639ee
		
	
	
	
	
		
			
			There are cases where we want an enum variant name. Right now the only way to do that with rust's std is to derive Debug, but this will also print out the variant's fields. This creates the unfortunate situation where we need to manually write out each variant's string name (ex: in #1963), which is both boilerplate-ey and error-prone. Crates such as `strum` exist for this reason, but it includes a lot of code and complexity that we don't need. This adds a dead-simple `EnumVariantMeta` derive that exposes `enum_variant_index` and `enum_variant_name` functions. This allows us to make cases like #1963 much cleaner (see the second commit). We might also be able to reuse this logic for `bevy_reflect` enum derives.
		
			
				
	
	
		
			7 lines
		
	
	
		
			161 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			7 lines
		
	
	
		
			161 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| pub use bevy_derive::EnumVariantMeta;
 | |
| 
 | |
| pub trait EnumVariantMeta {
 | |
|     fn enum_variant_index(&self) -> usize;
 | |
|     fn enum_variant_name(&self) -> &'static str;
 | |
| }
 |