From e2b38115ec695a6620cdf244fd7bad922262560d Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 16 Sep 2024 00:26:40 +0200 Subject: feat: make to_*dynamic_value functions usable without nightly Rust --- src/di_container/blocking.rs | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'src/di_container/blocking.rs') diff --git a/src/di_container/blocking.rs b/src/di_container/blocking.rs index 3d79ae7..0c464df 100644 --- a/src/di_container/blocking.rs +++ b/src/di_container/blocking.rs @@ -51,14 +51,15 @@ //! ``` use std::any::type_name; +use crate::castable_function::CastableFunction; use crate::di_container::binding_storage::DIContainerBindingStorage; use crate::di_container::blocking::binding::builder::BindingBuilder; use crate::di_container::BindingOptions; use crate::errors::di_container::DIContainerError; use crate::private::cast::boxed::CastBox; use crate::private::cast::rc::CastRc; -use crate::provider::blocking::{IProvider, Providable}; -use crate::ptr::SomePtr; +use crate::provider::blocking::{IProvider, Providable, ProvidableFunctionKind}; +use crate::ptr::{SomePtr, TransientPtr}; use crate::util::use_double; use_double!(crate::dependency_history::DependencyHistory); @@ -284,12 +285,7 @@ impl DIContainer })?, )), #[cfg(feature = "factory")] - Providable::Function( - func_bound, - crate::provider::blocking::ProvidableFunctionKind::UserCalled, - ) => { - use crate::castable_function::CastableFunction; - + Providable::Function(func_bound, ProvidableFunctionKind::UserCalled) => { let factory = func_bound .as_any() .downcast_ref::>() @@ -300,14 +296,7 @@ impl DIContainer Ok(SomePtr::Factory(factory.call(self).into())) } - #[cfg(feature = "factory")] - Providable::Function( - func_bound, - crate::provider::blocking::ProvidableFunctionKind::Instant, - ) => { - use crate::castable_function::CastableFunction; - use crate::ptr::TransientPtr; - + Providable::Function(func_bound, ProvidableFunctionKind::Instant) => { type Func = CastableFunction TransientPtr, DIContainer>; -- cgit v1.2.3-18-g5258