diff options
author | HampusM <hampus@hampusmat.com> | 2023-08-15 23:15:19 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2023-08-15 23:18:59 +0200 |
commit | e381ae3b8649de47ba46925e402946658ac16d20 (patch) | |
tree | 32ecc7e4592f25d43dc1e76399d3fffae3272e1e /examples/async-factory | |
parent | 9423d67efb161d9a94a7ab6c5899c6bc7ecaee7c (diff) |
fix!: make the factory macro not change its input
BREAKING CHANGE: The factory macro no longer
- Changes the return type to be inside of a TransientPtr
- Adds Send + Sync bounds when the threadsafe or the async flag is set
- Changes the return type be inside of a BoxFuture when the async flag is set
Diffstat (limited to 'examples/async-factory')
-rw-r--r-- | examples/async-factory/main.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/examples/async-factory/main.rs b/examples/async-factory/main.rs index 76efb2f..d368a32 100644 --- a/examples/async-factory/main.rs +++ b/examples/async-factory/main.rs @@ -6,6 +6,7 @@ use std::time::Duration; use anyhow::Result; use syrette::di_container::asynchronous::prelude::*; +use syrette::future::BoxFuture; use syrette::ptr::TransientPtr; use syrette::{declare_default_factory, factory}; use tokio::time::sleep; @@ -16,7 +17,8 @@ trait IFoo: Send + Sync } #[factory(async = true)] -type IFooFactory = dyn Fn(i32) -> dyn IFoo; +type IFooFactory = + dyn Fn(i32) -> BoxFuture<'static, TransientPtr<dyn IFoo>> + Send + Sync; struct Foo { |