diff options
author | HampusM <hampus@hampusmat.com> | 2023-08-05 23:14:06 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-08-05 23:14:06 +0200 |
commit | 89c238f9c82ade2d7656e2bee76838a391609a88 (patch) | |
tree | 8771a893a9c83b06715c3af0fa2da3cd206b0716 /src/interfaces/injectable.rs | |
parent | ddc666c55eec968f9a99408f3e3ad0f92d932179 (diff) |
refactor!: remove IDependencyHistory
BREAKING CHANGE: IDependencyHistory has been removed as part of an effort to simplify the API. This affects IDIContainer, DIContainer, IAsyncDIContainer, AsyncDIContainer, Injectable, AsyncInjectable, BindingBuilder, AsyncBindingBuilder, BindingScopeConfigurator, BindingWhenConfigurator, AsyncBindingScopeConfigurator, AsyncBindingWhenConfigurator and DependencyHistory
Diffstat (limited to 'src/interfaces/injectable.rs')
-rw-r--r-- | src/interfaces/injectable.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/interfaces/injectable.rs b/src/interfaces/injectable.rs index b70e13f..82b773a 100644 --- a/src/interfaces/injectable.rs +++ b/src/interfaces/injectable.rs @@ -2,17 +2,18 @@ use std::fmt::Debug; use std::rc::Rc; -use crate::dependency_history::IDependencyHistory; use crate::di_container::blocking::IDIContainer; use crate::errors::injectable::InjectableError; use crate::private::cast::CastFrom; use crate::ptr::TransientPtr; +use crate::util::use_dependency_history; + +use_dependency_history!(); /// Interface for structs that can be injected into or be injected to. -pub trait Injectable<DIContainerType, DependencyHistoryType>: CastFrom +pub trait Injectable<DIContainerType>: CastFrom where - DIContainerType: IDIContainer<DependencyHistoryType>, - DependencyHistoryType: IDependencyHistory, + DIContainerType: IDIContainer, { /// Resolves the dependencies of the injectable. /// @@ -20,17 +21,15 @@ where /// Will return `Err` if resolving the dependencies fails. fn resolve( di_container: &Rc<DIContainerType>, - dependency_history: DependencyHistoryType, + dependency_history: DependencyHistory, ) -> Result<TransientPtr<Self>, InjectableError> where Self: Sized; } -impl<DIContainerType, DependencyHistoryType> Debug - for dyn Injectable<DIContainerType, DependencyHistoryType> +impl<DIContainerType> Debug for dyn Injectable<DIContainerType> where - DIContainerType: IDIContainer<DependencyHistoryType>, - DependencyHistoryType: IDependencyHistory, + DIContainerType: IDIContainer, { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |