The code is now capable of fully generating basic Xilem code! Next up: build system (for real this time)
HEUMSBESSTWA6G7ZG5OJP3ZW3FLXHYUCODGDHMZSLE4O777JSDJQC items: vec![syn::Item::Fn(syn::ItemFn {attrs: Vec::new(),vis: syn::Visibility::Public(syn::token::Pub::default()),sig: syn::Signature {constness: None,asyncness: None,unsafety: None,abi: None,fn_token: syn::token::Fn::default(),ident: syn::Ident::new("test", proc_macro2::Span::call_site()),generics: syn::Generics::default(),paren_token: syn::token::Paren::default(),inputs: Punctuated::new(),variadic: None,output: syn::ReturnType::Default,},block: Box::new(syn::Block {brace_token: syn::token::Brace::default(),stmts: vec![syn::Stmt::Expr(syn::Expr::Tuple(syn::ExprTuple {attrs: Vec::new(),paren_token: syn::token::Paren::default(),elems: Punctuated::from_iter(blocks.into_iter()),}),None,)],
items: vec![syn::Item::Use(syn::ItemUse {attrs: Vec::new(),vis: syn::Visibility::Inherited,use_token: syn::token::Use::default(),leading_colon: None,tree: syn::UseTree::Path(syn::UsePath {ident: syn::Ident::new("xilem_html", proc_macro2::Span::call_site()),colon2_token: syn::token::PathSep::default(),tree: Box::new(syn::UseTree::Group(syn::UseGroup {brace_token: syn::token::Brace::default(),items: Punctuated::<syn::UseTree, syn::token::Comma>::from_iter(vec![syn::UseTree::Name(syn::UseName {ident: syn::Ident::new("elements",proc_macro2::Span::call_site(),),}),syn::UseTree::Name(syn::UseName {ident: syn::Ident::new("ViewSequence",proc_macro2::Span::call_site(),),}),syn::UseTree::Name(syn::UseName {ident: syn::Ident::new("ViewMarker",proc_macro2::Span::call_site(),),}),].into_iter(),),})),}),semi_token: syn::token::Semi::default(),}),syn::Item::Fn(syn::ItemFn {attrs: Vec::new(),vis: syn::Visibility::Public(syn::token::Pub::default()),sig: syn::Signature {constness: None,asyncness: None,unsafety: None,abi: None,fn_token: syn::token::Fn::default(),ident: syn::Ident::new("test", proc_macro2::Span::call_site()),generics: syn::Generics::default(),paren_token: syn::token::Paren::default(),inputs: Punctuated::new(),variadic: None,output: syn::ReturnType::Default,},block: Box::new(syn::Block {brace_token: syn::token::Brace::default(),stmts: vec![syn::Stmt::Expr(syn::Expr::Tuple(syn::ExprTuple {attrs: Vec::new(),paren_token: syn::token::Paren::default(),elems: Punctuated::from_iter(blocks.into_iter()),}),None,)],}),