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 /macros/src/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 'macros/src/factory')
-rw-r--r-- | macros/src/factory/type_alias.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/macros/src/factory/type_alias.rs b/macros/src/factory/type_alias.rs index 790175b..fafcd54 100644 --- a/macros/src/factory/type_alias.rs +++ b/macros/src/factory/type_alias.rs @@ -1,7 +1,6 @@ use quote::ToTokens; use syn::parse::{Parse, ParseStream}; -use syn::punctuated::Punctuated; -use syn::{parse2, ItemType, Token, Type}; +use syn::{parse2, ItemType}; use crate::fn_trait::FnTrait; @@ -9,8 +8,6 @@ pub struct FactoryTypeAlias { pub type_alias: ItemType, pub factory_interface: FnTrait, - pub arg_types: Punctuated<Type, Token![,]>, - pub return_type: Type, } impl Parse for FactoryTypeAlias @@ -27,8 +24,6 @@ impl Parse for FactoryTypeAlias Ok(Self { type_alias, factory_interface: aliased_fn_trait.clone(), - arg_types: aliased_fn_trait.inputs, - return_type: aliased_fn_trait.output, }) } } @@ -39,8 +34,9 @@ mod tests use std::error::Error; use quote::{format_ident, quote}; + use syn::punctuated::Punctuated; use syn::token::And; - use syn::TypeReference; + use syn::{Type, TypeReference}; use super::*; use crate::test_utils; @@ -55,7 +51,7 @@ mod tests let factory_type_alias = parse2::<FactoryTypeAlias>(input_args)?; assert_eq!( - factory_type_alias.arg_types, + factory_type_alias.factory_interface.inputs, Punctuated::from_iter(vec![ test_utils::create_type(test_utils::create_path(&[ test_utils::create_path_segment(format_ident!("String"), &[]) |