aboutsummaryrefslogtreecommitdiff
path: root/examples/factory/bootstrap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/factory/bootstrap.rs')
-rw-r--r--examples/factory/bootstrap.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/examples/factory/bootstrap.rs b/examples/factory/bootstrap.rs
index 19fad81..f8bef6e 100644
--- a/examples/factory/bootstrap.rs
+++ b/examples/factory/bootstrap.rs
@@ -4,11 +4,8 @@ use std::rc::Rc;
use syrette::ptr::TransientPtr;
use syrette::DIContainer;
-// Interfaces
use crate::interfaces::user::{IUser, IUserFactory};
use crate::interfaces::user_manager::IUserManager;
-//
-// Concrete implementations
use crate::user::User;
use crate::user_manager::UserManager;
@@ -20,14 +17,14 @@ pub fn bootstrap() -> Result<Rc<DIContainer>, Box<dyn Error>>
.bind::<dyn IUserManager>()
.to::<UserManager>()?;
- di_container.bind::<IUserFactory>().to_factory(
- &|name, date_of_birth, password| {
+ di_container.bind::<IUserFactory>().to_factory(&|_| {
+ Box::new(move |name, date_of_birth, password| {
let user: TransientPtr<dyn IUser> =
TransientPtr::new(User::new(name, date_of_birth, password));
user
- },
- )?;
+ })
+ })?;
Ok(di_container)
}