Ran into issue: Can't returned owned data when its expecting a trait object.
This commit is contained in:
@@ -116,21 +116,27 @@ impl<'a> DustRenderer<'a> {
|
||||
Ok(output)
|
||||
}
|
||||
|
||||
/// For rendering a dynamic partial's name
|
||||
fn render_partial_name(
|
||||
/// For rendering a dynamic partial's name or an rvalue template
|
||||
pub fn render_partial_name(
|
||||
&'a self,
|
||||
body: &'a Vec<PartialNameElement>,
|
||||
breadcrumbs: &Vec<&'a dyn IntoContextElement>,
|
||||
blocks: &'a BlockContext<'a>,
|
||||
) -> Result<String, RenderError> {
|
||||
let converted_to_template_elements: Vec<TemplateElement<'a>> =
|
||||
body.into_iter().map(|e| e.into()).collect();
|
||||
// Simple templates like partial names and reference rvalues
|
||||
// cannot contain blocks or inline partials, so we use a blank
|
||||
// BlockContext.
|
||||
let empty_block_context = BlockContext {
|
||||
breadcrumbs: &Vec::new(),
|
||||
blocks: &InlinePartialTreeElement::new(None, HashMap::new()),
|
||||
};
|
||||
self.render_body(
|
||||
&Body {
|
||||
elements: converted_to_template_elements,
|
||||
},
|
||||
breadcrumbs,
|
||||
blocks,
|
||||
&empty_block_context,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -311,7 +317,7 @@ impl<'a> DustRenderer<'a> {
|
||||
};
|
||||
}
|
||||
DustTag::DTPartial(partial) => {
|
||||
let partial_name = self.render_partial_name(&partial.name, breadcrumbs, blocks)?;
|
||||
let partial_name = self.render_partial_name(&partial.name, breadcrumbs)?;
|
||||
if partial.params.is_empty() {
|
||||
let new_breadcrumbs = self.new_breadcrumbs_partial(
|
||||
breadcrumbs,
|
||||
|
||||
Reference in New Issue
Block a user