use crate::parser::Body; use crate::parser::Template; use std::collections::HashMap; struct InlinePartialTreeElement<'a> { parent: Option<&'a InlinePartialTreeElement<'a>>, blocks: HashMap<&'a str, &'a Option>>, } impl<'a> InlinePartialTreeElement<'a> { pub fn new(parent: Option<&'a InlinePartialTreeElement<'a>>) -> InlinePartialTreeElement<'a> { InlinePartialTreeElement { parent: parent, blocks: HashMap::new(), } } } pub fn extract_inline_partials<'a>( template: &'a Template<'a>, ) -> HashMap<&'a str, &'a Option>> { let mut blocks: HashMap<&'a str, &'a Option>> = HashMap::new(); extract_inline_partials_from_body(&mut blocks, &template.contents); blocks } fn extract_inline_partials_from_body<'a, 'b>( blocks: &'b mut HashMap<&'a str, &'a Option>>, body: &'a Body<'a>, ) { }