Making DynamicEnum::is_dynamic() return true (#14732)

# Objective

- Right now `DynamicEnum::is_dynamic()` is returning `false`. I don't
think this was expected, since the rest of `Dynamic*` types return
`true`.

## Solution

- Making `DynamicEnum::is_dynamic()` return true

## Testing

- Added an extra unit test to verify that `.is_dynamic()` returns
`true`.
This commit is contained in:
eckz 2024-08-15 16:10:52 +02:00 committed by GitHub
parent 9de25ad330
commit a44278aee6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 0 deletions

View file

@ -415,6 +415,11 @@ impl PartialReflect for DynamicEnum {
enum_debug(self, f)?;
write!(f, ")")
}
#[inline]
fn is_dynamic(&self) -> bool {
true
}
}
impl_type_path!((in bevy_reflect) DynamicEnum);

View file

@ -211,6 +211,12 @@ mod tests {
assert_eq!(MyEnum::A, value);
}
#[test]
fn dynamic_enum_should_return_is_dynamic() {
let dyn_enum = DynamicEnum::from(MyEnum::B(123, 321));
assert!(dyn_enum.is_dynamic());
}
#[test]
fn enum_should_iterate_fields() {
// === Unit === //