From e381ae3b8649de47ba46925e402946658ac16d20 Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 15 Aug 2023 23:15:19 +0200 Subject: 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 --- examples/async-factory/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'examples/async-factory') 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> + Send + Sync; struct Foo { -- cgit v1.2.3-18-g5258