pub enum CompRef {
Factory(Arc<dyn Fn(&mut BuildContext) -> Arc<dyn Any + Send + Sync> + Send + Sync>),
Cached(Arc<dyn Any + Send + Sync>),
}Expand description
存储单元:
Factory(Arc<dyn Fn>)→ 存工厂闭包,prototype 每次注入时调用Cached(Arc<dyn Any>)→ 已实例化的单例(擦除类型)
Variants§
Factory(Arc<dyn Fn(&mut BuildContext) -> Arc<dyn Any + Send + Sync> + Send + Sync>)
尚未实例化的工厂(prototype),直接存闭包
Cached(Arc<dyn Any + Send + Sync>)
已实例化并缓存的单例
Auto Trait Implementations§
impl Freeze for CompRef
impl !RefUnwindSafe for CompRef
impl Send for CompRef
impl Sync for CompRef
impl Unpin for CompRef
impl UnsafeUnpin for CompRef
impl !UnwindSafe for CompRef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more