Running into lifetime issues again.

This commit is contained in:
Tom Alexander
2020-05-31 23:47:20 -04:00
parent da15439946
commit 303f092c30
3 changed files with 34 additions and 28 deletions

View File

@@ -5,6 +5,7 @@ use crate::parser::RValue;
use crate::renderer::breadcrumb_tree::BreadcrumbTree;
use crate::renderer::context_element::CompareContextElement;
use crate::renderer::context_element::ContextElement;
use crate::renderer::context_element::IceResult;
use crate::renderer::context_element::IntoContextElement;
use crate::renderer::tree_walking::walk_path;
use crate::renderer::DustRenderer;
@@ -37,24 +38,25 @@ impl<'a> IntoContextElement for RValue<'a> {
&'b self,
renderer: &DustRenderer,
breadcrumbs: Option<&'b BreadcrumbTree<'b>>,
) -> Option<&'b dyn ContextElement> {
match self {
RValue::RVLiteral(owned_literal) => Some(owned_literal),
RValue::RVPath(path) => walk_path(breadcrumbs, &path.keys)
.map(|ice| ice.into_context_element(renderer, breadcrumbs))
.ok()
.flatten(),
RValue::RVTemplate(template) => {
// TODO
// renderer
// .render_partial_name(template, breadcrumbs)
// .map(|rendered| OwnedLiteral::LString(rendered))
// .ok()
// .as_ref()
// .map(|l| l as _)
todo!()
}
}
) -> Option<IceResult<'b>> {
todo!()
// match self {
// RValue::RVLiteral(owned_literal) => Some(owned_literal),
// RValue::RVPath(path) => walk_path(breadcrumbs, &path.keys)
// .map(|ice| ice.into_context_element(renderer, breadcrumbs))
// .ok()
// .flatten(),
// RValue::RVTemplate(template) => {
// // TODO
// // renderer
// // .render_partial_name(template, breadcrumbs)
// // .map(|rendered| OwnedLiteral::LString(rendered))
// // .ok()
// // .as_ref()
// // .map(|l| l as _)
// todo!()
// }
// }
}
}