From 4d70765d17ac121f340f52d7774d78881bec6328 Mon Sep 17 00:00:00 2001 From: Jesse Brault Date: Thu, 4 Sep 2025 11:10:59 -0500 Subject: [PATCH] Wrap in Boxes. --- ast-generator/src/build_fn_gen.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ast-generator/src/build_fn_gen.rs b/ast-generator/src/build_fn_gen.rs index 3b9c650..ab5f2e7 100644 --- a/ast-generator/src/build_fn_gen.rs +++ b/ast-generator/src/build_fn_gen.rs @@ -20,7 +20,7 @@ fn make_child_holder(child_spec: &ChildSpec) -> Option { ), }; Some(quote! { - let mut #child_ident: Vec<#child_type_ident> = vec![] + let mut #child_ident: Vec> = vec![] }) } ChildSpec::SingleChild(single_child) => match single_child.build() { @@ -28,7 +28,7 @@ fn make_child_holder(child_spec: &ChildSpec) -> Option { let child_ident = format_ident!("{}", single_type_child.var_name()); let child_type_ident = format_ident!("{}", single_type_child.build()); Some(quote! { - let mut #child_ident: Option<#child_type_ident> = None; + let mut #child_ident: Option> = None; }) } SingleChildToBuild::Boolean(boolean_child) => { @@ -52,7 +52,7 @@ fn make_match_action(child_spec: &ChildSpec) -> TokenStream { ), }; quote! { - #child_name_ident.push(#build_fn_ident(inner_pair)) + #child_name_ident.push(Box::new(#build_fn_ident(inner_pair))) } } ChildSpec::SingleChild(single_child) => match single_child.build() { @@ -60,7 +60,7 @@ fn make_match_action(child_spec: &ChildSpec) -> TokenStream { let child_name_ident = format_ident!("{}", single_type_child.var_name()); let build_fn_ident = format_ident!("{}", single_type_child.with()); quote! { - #child_name_ident = Some(#build_fn_ident(inner_pair)) + #child_name_ident = Some(Box::new(#build_fn_ident(inner_pair))) } } SingleChildToBuild::Boolean(single_boolean_child) => {