diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/basic/animals/human.rs | 6 | ||||
| -rw-r--r-- | examples/basic/bootstrap.rs | 5 | ||||
| -rw-r--r-- | examples/basic/main.rs | 2 | 
3 files changed, 8 insertions, 5 deletions
| diff --git a/examples/basic/animals/human.rs b/examples/basic/animals/human.rs index 8e52b5b..d9b848b 100644 --- a/examples/basic/animals/human.rs +++ b/examples/basic/animals/human.rs @@ -1,5 +1,5 @@  use syrette::injectable; -use syrette::ptr::TransientPtr; +use syrette::ptr::{SingletonPtr, TransientPtr};  use crate::interfaces::cat::ICat;  use crate::interfaces::dog::IDog; @@ -7,14 +7,14 @@ use crate::interfaces::human::IHuman;  pub struct Human  { -    dog: TransientPtr<dyn IDog>, +    dog: SingletonPtr<dyn IDog>,      cat: TransientPtr<dyn ICat>,  }  #[injectable(IHuman)]  impl Human  { -    pub fn new(dog: TransientPtr<dyn IDog>, cat: TransientPtr<dyn ICat>) -> Self +    pub fn new(dog: SingletonPtr<dyn IDog>, cat: TransientPtr<dyn ICat>) -> Self      {          Self { dog, cat }      } diff --git a/examples/basic/bootstrap.rs b/examples/basic/bootstrap.rs index 71ef713..10a7041 100644 --- a/examples/basic/bootstrap.rs +++ b/examples/basic/bootstrap.rs @@ -14,7 +14,10 @@ pub fn bootstrap() -> DIContainer  {      let mut di_container: DIContainer = DIContainer::new(); -    di_container.bind::<dyn IDog>().to::<Dog>(); +    di_container +        .bind::<dyn IDog>() +        .to_singleton::<Dog>() +        .unwrap();      di_container.bind::<dyn ICat>().to::<Cat>();      di_container.bind::<dyn IHuman>().to::<Human>(); diff --git a/examples/basic/main.rs b/examples/basic/main.rs index f96d963..3a937c3 100644 --- a/examples/basic/main.rs +++ b/examples/basic/main.rs @@ -16,7 +16,7 @@ fn main()      let di_container = bootstrap(); -    let dog = di_container.get::<dyn IDog>().unwrap(); +    let dog = di_container.get_singleton::<dyn IDog>().unwrap();      dog.woof(); | 
