use super::*;
pub struct Provider<T: ?Sized + 'static> {
pub scope: Scope,
#[allow(clippy::type_complexity)]
#[cfg(not(feature = "thread-safe"))]
pub factory: Box<dyn Fn(&Injector) -> Instance<T> + 'static>,
#[allow(clippy::type_complexity)]
#[cfg(feature = "thread-safe")]
pub factory: Box<dyn Fn(&Injector) -> Instance<T> + Send + Sync + 'static>,
#[cfg(feature = "async-factory")]
pub async_factory: Option<AsyncFactory<T>>,
pub limits: Limits,
pub(crate) dependency_hints: Vec<DependencyHint>,
pub(super) limiter: Option<Shared<Limiter>>,
}