Skip to content

Commit

Permalink
former : experimenting
Browse files Browse the repository at this point in the history
  • Loading branch information
Wandalen committed Apr 30, 2024
1 parent 999034d commit 1923acd
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 9 deletions.
31 changes: 31 additions & 0 deletions module/core/former/tests/inc/former_tests/parametrized_field.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#![ allow( dead_code ) ]
#[ allow( unused_imports ) ]
use super::*;

// xxx : make it working

/// Parameter description.
#[ allow( explicit_outlives_requirements ) ]
// #[ derive( Debug, PartialEq, the_module::Former ) ]
// #[ debug ]
#[ derive( Debug, PartialEq ) ]
pub struct Child< 'child, T >
where
T : 'child,
{
name : String,
arg : &'child T,
}

// == begin of generated

// == end of generated

// xxx : uncomment
// #[ test ]
// fn basic()
// {
// let got = Child::< 'static, str >::former().name( "abc" ).arg( "arg1" ).end();
// let exp = Child::< 'static, str >{ name : "abc".into(), arg : "arg1" };
// a_id!( got, exp );
// }
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#![ allow( dead_code ) ]

#[ allow( unused_imports ) ]
use super::*;

// xxx : make it working
Expand Down
1 change: 1 addition & 0 deletions module/core/former/tests/inc/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ mod former_tests
mod parametrized_struct_imm;
#[ cfg( any( not( feature = "no_std" ), feature = "use_alloc" ) ) ]
mod parametrized_struct_where;
mod parametrized_field;

#[ cfg( any( not( feature = "no_std" ), feature = "use_alloc" ) ) ]
mod subformer_basic;
Expand Down
14 changes: 6 additions & 8 deletions module/core/former_meta/src/derive/former.rs
Original file line number Diff line number Diff line change
Expand Up @@ -620,8 +620,8 @@ fn field_setter_map
(
field : &FormerField< '_ >,
stru : &syn::Ident,
as_subformer : &syn::Ident,
as_subformer_end : &syn::Ident,
// as_subformer : &syn::Ident,
// as_subformer_end : &syn::Ident,
)
-> Result< TokenStream >
{
Expand Down Expand Up @@ -662,7 +662,7 @@ fn field_setter_map

let r = if field.attrs.subform.is_some()
{
let subformer = field_subformer_map( field, stru, as_subformer, as_subformer_end )?;
let subformer = field_subformer_map( field, stru )?;
qt!
{
#r
Expand All @@ -685,8 +685,6 @@ fn field_subformer_map
(
field : &FormerField< '_ >,
stru : &syn::Ident,
_as_subformer : &syn::Ident,
_as_subformer_end : &syn::Ident,
)
-> Result< TokenStream >
{
Expand Down Expand Up @@ -1565,7 +1563,7 @@ pub fn former( input : proc_macro::TokenStream ) -> Result< TokenStream >
field_optional_map( former_field ),
field_form_map( former_field ),
field_name_map( former_field ),
field_setter_map( former_field, &stru, &as_subformer, &as_subformer_end ),
field_setter_map( former_field, &stru ),
field_former_assign_map
(
former_field,
Expand Down Expand Up @@ -2008,8 +2006,8 @@ pub fn former( input : proc_macro::TokenStream ) -> Result< TokenStream >
{
}

impl< #struct_generics_impl SuperFormer, T > #as_subformer_end < #struct_generics_ty SuperFormer >
for T
impl< #struct_generics_impl SuperFormer, __T > #as_subformer_end < #struct_generics_ty SuperFormer >
for __T
where
#struct_generics_where
Self : former::FormingEnd
Expand Down

0 comments on commit 1923acd

Please sign in to comment.