From 6533246020c9dcc1acfc02b1e5ed74fbbce4ea1f Mon Sep 17 00:00:00 2001 From: HampusM Date: Wed, 27 Sep 2023 20:22:46 +0200 Subject: fix: set injectable macro dummies directly after parsing input --- macros/src/injectable/dummy.rs | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 macros/src/injectable/dummy.rs (limited to 'macros/src/injectable/dummy.rs') diff --git a/macros/src/injectable/dummy.rs b/macros/src/injectable/dummy.rs new file mode 100644 index 0000000..3ace798 --- /dev/null +++ b/macros/src/injectable/dummy.rs @@ -0,0 +1,58 @@ +use quote::quote; +use syn::{Generics, Type}; + +#[cfg(not(tarpaulin_include))] +pub fn expand_dummy_blocking_impl( + generics: &Generics, + self_type: &Type, +) -> proc_macro2::TokenStream +{ + quote! { + impl #generics syrette::interfaces::injectable::Injectable< + syrette::di_container::blocking::DIContainer, + > for #self_type + { + fn resolve( + _: &syrette::di_container::blocking::DIContainer, + _: syrette::dependency_history::DependencyHistory + ) -> Result< + syrette::ptr::TransientPtr, + syrette::errors::injectable::InjectableError> + { + unimplemented!(); + } + } + } +} + +#[cfg(not(tarpaulin_include))] +#[cfg(feature = "async")] +pub fn expand_dummy_async_impl( + generics: &Generics, + self_type: &Type, +) -> proc_macro2::TokenStream +{ + quote! { + impl #generics syrette::interfaces::async_injectable::AsyncInjectable< + syrette::di_container::asynchronous::AsyncDIContainer, + > for #self_type + { + fn resolve<'di_container, 'fut>( + _: &'di_container syrette::di_container::asynchronous::AsyncDIContainer, + _: syrette::dependency_history::DependencyHistory + ) -> syrette::future::BoxFuture< + 'fut, + Result< + syrette::ptr::TransientPtr, + syrette::errors::injectable::InjectableError + > + > + where + Self: Sized + 'fut, + 'di_container: 'fut + { + unimplemented!(); + } + } + } +} -- cgit v1.2.3-18-g5258