Since we are using Gc pointers for DynamicRootSet again, we need to relax the way the Rootable macro works so that it can work for Gc<dyn Trait> and Gc pointers which have been cast to other types.
This is a breaking change (ofc), but hopefully it should not cause too much churn?
We could add a trait alias for Sized + Collect Root types to make things much easier, but I think the only way to have an actually helpful trait alias is to use the very recently stable associated type bounds.
I think it's probably just not a big deal unless you do deep tricks with Rootable (like piccolo's Any).
This also removes the 'static bound on Rootable because absolutely nothing was using it (piccolo does, but it can add it itself).
Since we are using
Gc
pointers forDynamicRootSet
again, we need to relax the way theRootable
macro works so that it can work forGc<dyn Trait>
andGc
pointers which have been cast to other types.This is a breaking change (ofc), but hopefully it should not cause too much churn?
We could add a trait alias for
Sized + Collect
Root types to make things much easier, but I think the only way to have an actually helpful trait alias is to use the very recently stable associated type bounds.I think it's probably just not a big deal unless you do deep tricks with
Rootable
(likepiccolo
'sAny
).This also removes the
'static
bound onRootable
because absolutely nothing was using it (piccolo
does, but it can add it itself).