mirror of
https://github.com/bevyengine/bevy
synced 2024-11-10 07:04:33 +00:00
Implement Reflect
for std::ops::Bound
(#14861)
# Objective - Fixes #14844 ## Solution - implement reflect using the `impl_reflect_value` macro ## Testing - I wrote a test locally to understand and learn how reflection worked on a basic level and to confirm that yes indeed the bound struct could use the reflection traits that have been implemented for it. note: I did remove a line that asked for bound to not have reflect implemented in a test, since that's the point of this PR and the test worked without the line so I am not sure what that was about, not sure if that uncovers a deeper issue or not.
This commit is contained in:
parent
510fce9af3
commit
f9fbd08f9f
2 changed files with 1 additions and 20 deletions
|
@ -107,6 +107,7 @@ impl_reflect_value!(::core::ops::RangeFrom<T: Clone + Send + Sync>());
|
|||
impl_reflect_value!(::core::ops::RangeTo<T: Clone + Send + Sync>());
|
||||
impl_reflect_value!(::core::ops::RangeToInclusive<T: Clone + Send + Sync>());
|
||||
impl_reflect_value!(::core::ops::RangeFull());
|
||||
impl_reflect_value!(::std::ops::Bound<T: Clone + Send + Sync>());
|
||||
impl_reflect_value!(::bevy_utils::Duration(
|
||||
Debug,
|
||||
Hash,
|
||||
|
|
|
@ -2922,26 +2922,6 @@ bevy_reflect::tests::Test {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn should_reflect_external_crate_type() {
|
||||
// This test relies on the external type not implementing `Reflect`,
|
||||
// so let's just double-check that it does not
|
||||
assert_not_impl_all!(std::collections::Bound<i32>: Reflect);
|
||||
|
||||
#[reflect_remote(std::collections::Bound<T>)]
|
||||
enum MyBound<T> {
|
||||
Included(T),
|
||||
Excluded(T),
|
||||
Unbounded,
|
||||
}
|
||||
|
||||
#[derive(Reflect)]
|
||||
struct MyType {
|
||||
#[reflect(remote = MyBound<String>)]
|
||||
bound: std::collections::Bound<String>,
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "glam")]
|
||||
mod glam {
|
||||
use super::*;
|
||||
|
|
Loading…
Reference in a new issue