I'm trying to write some code that I'll use in both with std and with no_std and I'm having a big of trouble with cycle used when collecting item types
Basically, I'm creating a scheduler. I want a trait Eval here, to identify an object that can be scheduled and can potentially schedule new objects when it is called. I'll also have a trait Scheudule that schedules an object that impl's Eval.
I'm trying to abstract the container that these objects are in, so that I can use Box with std and something else with no_std but I'm having trouble because I want to use a cyclic type to identify my container and I'm not sure how to design around this: type Concrete = Box<dyn Eval<Concrete>>;
Any ideas?
My initial, failing attempt is here:
... which is a generalization of something I can do if i just went with Box: