![]() # Objective Unblocks #11659. Currently the `Reflect` derive macro has to go through a merge process for each `#[reflect]`/`#[reflet_value]` attribute encountered on a container type. Not only is this a bit inefficient, but it also has a soft requirement that we can compare attributes such that an error can be thrown on duplicates, invalid states, etc. While working on #11659 this proved to be challenging due to the fact that `syn` types don't implement `PartialEq` or `Hash` without enabling the `extra-traits` feature. Ideally, we wouldn't have to enable another feature just to accommodate this one use case. ## Solution Removed `ContainerAttributes::merge`. This was a fairly simple change as we could just have the parsing functions take `&mut self` instead of returning `Self`. ## Testing CI should build as there should be no user-facing change. |
||
---|---|---|
.. | ||
impls | ||
container_attributes.rs | ||
derive_data.rs | ||
documentation.rs | ||
enum_utility.rs | ||
field_attributes.rs | ||
from_reflect.rs | ||
lib.rs | ||
reflect_value.rs | ||
registration.rs | ||
serialization.rs | ||
trait_reflection.rs | ||
type_path.rs | ||
utility.rs |