Implement Sizable for both OwnedLiterals and serde_json.

This commit is contained in:
Tom Alexander
2020-06-14 13:06:03 -04:00
parent 1a54e35736
commit a6c22417e5
2 changed files with 27 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ use crate::renderer::Walkable;
use std::borrow::Borrow;
use std::cmp::Ordering;
use std::collections::HashMap;
use std::convert::TryInto;
#[derive(Debug)]
pub struct ParametersContext<'a> {
@@ -192,7 +193,14 @@ impl Walkable for OwnedLiteral {
impl Sizable for OwnedLiteral {
fn get_size<'a>(&'a self) -> Option<IceResult<'a>> {
todo!()
match self {
OwnedLiteral::LFloat(_) => Some(IceResult::from_borrowed(self)),
OwnedLiteral::LPositiveInteger(_) => Some(IceResult::from_borrowed(self)),
OwnedLiteral::LNegativeInteger(_) => Some(IceResult::from_borrowed(self)),
OwnedLiteral::LString(text) => Some(IceResult::from_owned(
OwnedLiteral::LPositiveInteger(text.len().try_into().unwrap()),
)),
}
}
}