#![allow(clippy::module_name_repetitions)] use crate::libs::intertrait::CastFrom; use crate::ptr::TransientPtr; /// Interface for a factory. pub trait IFactory: Fn> + CastFrom where ReturnInterface: 'static + ?Sized, { } /// Interface for a threadsafe factory. #[cfg(feature = "async")] pub trait IThreadsafeFactory: Fn> + crate::libs::intertrait::CastFromSync where ReturnInterface: 'static + ?Sized, { }