The problem:
Objects that implement the trait sometimes do not care about the container type.
Therefore, it is set to std::any::Any. However, since there are no associated type defaults,
there need to be 2 traits. One with a container and one without. There is an implementation of all types that implement the trait without container to implement the trait with container specifying std::any::Any.
This could be simplified a lot by having the language feature mentioned above.
https://github.com/rust-lang/rust/issues/29661
The problem: Objects that implement the trait sometimes do not care about the container type. Therefore, it is set to
std::any::Any
. However, since there are no associated type defaults, there need to be 2 traits. One with a container and one without. There is an implementation of all types that implement the trait without container to implement the trait with container specifyingstd::any::Any
. This could be simplified a lot by having the language feature mentioned above.