If you have a collection of singletons you need to initialize, and some of those singletons
are dependent on handles from other singletons, the
InitTree is the structure you need.
After implementing the
Init trait for all of your singleton types all you need to do is add
them to the InitTree, and then call
.init() to receive all of your initialized types.
These items are required to be public for macros, but their direct use is discouraged.
Provides an impl of the
Forwards compatible, serde compatible, opaque cache structure. Used to cache initialization sequences. Caching can be disabled by turning off the default features for this crate.
A tree of types to initialize.
A collection of all the structures after they've been initialized. Call
The trait that must be implemented for a type before it can be used with the