diff options
| author | HampusM <hampus@hampusmat.com> | 2023-09-17 13:32:06 +0200 | 
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2023-09-17 13:32:06 +0200 | 
| commit | a1ddd1bc6e1af0d98b87126d3e86da30bc1d3f1c (patch) | |
| tree | d4a9cfd9e3970a955e27ac518a593f55e8ad8d9c /src/provider | |
| parent | 3e3a853615e97ee7c3aef09736eae8170c6fd78e (diff) | |
refactor!: make the blocking DI container not inside a Rc
BREAKING CHANGE: The blocking DI container is no longer inside of a Rc. This affects BindingBuilder, BindingScopeConfigurator, BindingWhenConfigurator & Injectable
Diffstat (limited to 'src/provider')
| -rw-r--r-- | src/provider/blocking.rs | 15 | 
1 files changed, 7 insertions, 8 deletions
diff --git a/src/provider/blocking.rs b/src/provider/blocking.rs index c719f59..1533f68 100644 --- a/src/provider/blocking.rs +++ b/src/provider/blocking.rs @@ -1,5 +1,4 @@  use std::marker::PhantomData; -use std::rc::Rc;  use crate::errors::injectable::InjectableError;  use crate::interfaces::injectable::Injectable; @@ -24,7 +23,7 @@ pub trait IProvider<DIContainerType>  {      fn provide(          &self, -        di_container: &Rc<DIContainerType>, +        di_container: &DIContainerType,          dependency_history: DependencyHistory,      ) -> Result<Providable<DIContainerType>, InjectableError>;  } @@ -58,7 +57,7 @@ where  {      fn provide(          &self, -        di_container: &Rc<DIContainerType>, +        di_container: &DIContainerType,          dependency_history: DependencyHistory,      ) -> Result<Providable<DIContainerType>, InjectableError>      { @@ -98,7 +97,7 @@ where  {      fn provide(          &self, -        _di_container: &Rc<DIContainerType>, +        _di_container: &DIContainerType,          _dependency_history: DependencyHistory,      ) -> Result<Providable<DIContainerType>, InjectableError>      { @@ -133,7 +132,7 @@ impl<DIContainerType> IProvider<DIContainerType> for FactoryProvider  {      fn provide(          &self, -        _di_container: &Rc<DIContainerType>, +        _di_container: &DIContainerType,          _dependency_history: DependencyHistory,      ) -> Result<Providable<DIContainerType>, InjectableError>      { @@ -168,7 +167,7 @@ mod tests          assert!(              matches!(                  transient_type_provider -                    .provide(&Rc::new(di_container), dependency_history_mock)?, +                    .provide(&di_container, dependency_history_mock)?,                  Providable::Transient(_)              ),              "The provided type is not transient" @@ -190,7 +189,7 @@ mod tests          assert!(              matches!(                  singleton_provider -                    .provide(&Rc::new(di_container), MockDependencyHistory::new())?, +                    .provide(&di_container, MockDependencyHistory::new())?,                  Providable::Singleton(_)              ),              "The provided type is not a singleton" @@ -215,7 +214,7 @@ mod tests          let default_factory_provider =              FactoryProvider::new(FactoryPtr::new(FooFactory), true); -        let di_container = Rc::new(MockDIContainer::new()); +        let di_container = MockDIContainer::new();          assert!(              matches!(  | 
