diff options
Diffstat (limited to 'src/castable_factory/mod.rs')
-rw-r--r-- | src/castable_factory/mod.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/castable_factory/mod.rs b/src/castable_factory/mod.rs index 196dc14..0cb2127 100644 --- a/src/castable_factory/mod.rs +++ b/src/castable_factory/mod.rs @@ -1,12 +1,17 @@ use std::any::{type_name, Any}; use std::fmt::Debug; -use crate::any_factory::AnyFactory; use crate::ptr::TransientPtr; #[cfg(feature = "async")] pub mod threadsafe; +/// Interface for any castable factory. +pub trait AnyCastableFactory: Any + Debug +{ + fn as_any(&self) -> &dyn Any; +} + pub struct CastableFactory<ReturnInterface, DIContainerT> where ReturnInterface: 'static + ?Sized, @@ -32,7 +37,7 @@ where } } -impl<ReturnInterface, DIContainerT> AnyFactory +impl<ReturnInterface, DIContainerT> AnyCastableFactory for CastableFactory<ReturnInterface, DIContainerT> where ReturnInterface: 'static + ?Sized, |