aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/async_di_container.rs26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/async_di_container.rs b/src/async_di_container.rs
index 894b707..caf7f22 100644
--- a/src/async_di_container.rs
+++ b/src/async_di_container.rs
@@ -81,6 +81,9 @@ use crate::provider::r#async::{
};
use crate::ptr::{SomeThreadsafePtr, ThreadsafeSingletonPtr, TransientPtr};
+/// Alias for a threadsafe boxed function.
+pub type BoxFn<Args, Return> = Box<(dyn Fn<Args, Output = Return> + Send + Sync)>;
+
/// When configurator for a binding for type 'Interface' inside a [`AsyncDIContainer`].
pub struct AsyncBindingWhenConfigurator<Interface>
where
@@ -269,11 +272,8 @@ where
Args: 'static,
Return: 'static + ?Sized,
Interface: Fn<Args, Output = Return> + Send + Sync,
- FactoryFunc: Fn<
- (Arc<AsyncDIContainer>,),
- Output = Box<(dyn Fn<Args, Output = Return> + Send + Sync)>,
- > + Send
- + Sync,
+ FactoryFunc:
+ Fn<(Arc<AsyncDIContainer>,), Output = BoxFn<Args, Return>> + Send + Sync,
{
use crate::provider::r#async::AsyncFactoryVariant;
@@ -320,11 +320,7 @@ where
Fn<Args, Output = crate::future::BoxFuture<'static, Return>> + Send + Sync,
FactoryFunc: Fn<
(Arc<AsyncDIContainer>,),
- Output = Box<
- (dyn Fn<Args, Output = crate::future::BoxFuture<'static, Return>>
- + Send
- + Sync),
- >,
+ Output = BoxFn<Args, crate::future::BoxFuture<'static, Return>>,
> + Send
+ Sync,
{
@@ -369,9 +365,7 @@ where
Return: 'static + ?Sized,
FactoryFunc: Fn<
(Arc<AsyncDIContainer>,),
- Output = Box<
- (dyn Fn<(), Output = crate::ptr::TransientPtr<Return>> + Send + Sync),
- >,
+ Output = BoxFn<(), crate::ptr::TransientPtr<Return>>,
> + Send
+ Sync,
{
@@ -417,11 +411,7 @@ where
Return: 'static + ?Sized,
FactoryFunc: Fn<
(Arc<AsyncDIContainer>,),
- Output = Box<
- (dyn Fn<(), Output = crate::future::BoxFuture<'static, Return>>
- + Send
- + Sync),
- >,
+ Output = BoxFn<(), crate::future::BoxFuture<'static, Return>>,
> + Send
+ Sync,
{