Avoids polluting the namespace directly. Multiple files aren't handled yet, but every subdirectory will be its own module.
4MMVEN5YUVUQ5RO3X2XKZVBMBMHOEJIYUCLKL63EPRUVQQRQXUAAC ZYNEMGAZXWHIWGNPB2RTYG3JWTH5Y5XY4JWJ3TTPANIOORTCLISAC HEUMSBESSTWA6G7ZG5OJP3ZW3FLXHYUCODGDHMZSLE4O777JSDJQC 2N3KOCP74PCK2ETO5PCWBDR5PA57DDNT2KR4JLBPZPQPA56SAR4QC BA5Y6VSEHJQBOYBS6R6FE6IZDRNAPNIN5ITJXWK7L46RJVHNI7JAC A4E5KLI2CEHJLO6WUME2VIXPK4C2DXHCBVEK2TJTLHGCRCZ2ZC7QC C73UJ7ZYG4EE3YTK3N66GXPNWJHEBSRE4PDQBWMN6SKQ3U6ZYKXAC 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 {
unsafety: None,mod_token: syn::token::Mod::default(),ident: syn::Ident::new("docs", proc_macro2::Span::call_site()),content: Some((syn::token::Brace::default(), 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(),),}),].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 { lt_token: None, params: Punctuated::from_iter(vec![syn::GenericParam::Type(syn::TypeParam { attrs: Vec::new(), ident: syn::Ident::new("T", proc_macro2::Span::call_site()), colon_token: None, bounds: Punctuated::new(), eq_token: None, default: None })].into_iter()), gt_token: None, where_clause: None },paren_token: syn::token::Paren::default(),inputs: Punctuated::new(),variadic: None,output: syn::ReturnType::Type(syn::token::RArrow::default(),Box::new(syn::Type::ImplTrait(syn::TypeImplTrait {impl_token: syn::token::Impl::default(),bounds: Punctuated::from_iter(vec![syn::TypeParamBound::Trait(syn::TraitBound {paren_token: None,modifier: syn::TraitBoundModifier::None,lifetimes: None,path: syn::Path {leading_colon: None,segments: Punctuated::from_iter(vec![syn::PathSegment {ident: syn::Ident::new("ViewSequence",proc_macro2::Span::call_site(),),arguments: syn::PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments {colon2_token: None,lt_token: syn::token::Lt::default(),args: Punctuated::from_iter(vec![syn::GenericArgument::Type(syn::Type::Path(syn::TypePath {qself: None,path: syn::Path {leading_colon: None,segments: Punctuated::from_iter(vec![syn::PathSegment { ident: syn::Ident::new("T", proc_macro2::Span::call_site()), arguments: syn::PathArguments::None }].into_iter()),},}),)].into_iter(),),gt_token: syn::token::Gt::default(),},),}].into_iter(),),},})].into_iter(),),})),),},block: Box::new(syn::Block {
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(),),}),].into_iter(),),})),}),semi_token: syn::token::Semi::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,)],}),}),])),semi: None,
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 { lt_token: None, params: Punctuated::from_iter(vec![syn::GenericParam::Type(syn::TypeParam { attrs: Vec::new(), ident: syn::Ident::new("T", proc_macro2::Span::call_site()), colon_token: None, bounds: Punctuated::new(), eq_token: None, default: None })].into_iter()), gt_token: None, where_clause: None },paren_token: syn::token::Paren::default(),inputs: Punctuated::new(),variadic: None,output: syn::ReturnType::Type(syn::token::RArrow::default(),Box::new(syn::Type::ImplTrait(syn::TypeImplTrait {impl_token: syn::token::Impl::default(),bounds: Punctuated::from_iter(vec![syn::TypeParamBound::Trait(syn::TraitBound {paren_token: None,modifier: syn::TraitBoundModifier::None,lifetimes: None,path: syn::Path {leading_colon: None,segments: Punctuated::from_iter(vec![syn::PathSegment {ident: syn::Ident::new("ViewSequence",proc_macro2::Span::call_site(),),arguments: syn::PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments {colon2_token: None,lt_token: syn::token::Lt::default(),args: Punctuated::from_iter(vec![syn::GenericArgument::Type(syn::Type::Path(syn::TypePath {qself: None,path: syn::Path {leading_colon: None,segments: Punctuated::from_iter(vec![syn::PathSegment { ident: syn::Ident::new("T", proc_macro2::Span::call_site()), arguments: syn::PathArguments::None }].into_iter()),},}),)].into_iter(),),gt_token: syn::token::Gt::default(),},),}].into_iter(),),},})].into_iter(),),})),),},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,)],}),}),