Make Acc and AccountTemplate zero-copy deserializable
Dependencies
- [2]
W3MWSSJ7Add a templating engine for accounts - [*]
YDK6X6PPadd a library of important types for beancount - [*]
2JBFREZGenable additional warnings - [*]
UESS5YZEmigrate dependencies into workspace manifest - [*]
I2P2FTLEadd basic parser for german decimals - [*]
R7S2CWF7Add type for account segments
Change contents
- edit in common/beancount-types/src/account.rs at line 19
use serde::Deserialize;use serde::Deserializer; - edit in common/beancount-types/src/account.rs at line 111
}}impl<'de> Deserialize<'de> for &'de Acc {fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>whereD: Deserializer<'de>,{let s = <&'de str>::deserialize(deserializer)?;s.try_into().map_err(serde::de::Error::custom) - edit in common/beancount-types/src/account/template.rs at line 6
use serde::Deserialize;use serde::Deserializer; - replacement in common/beancount-types/src/account/template.rs at line 66
#[derive(Debug)]#[derive(Debug, Deserialize)]#[serde(bound = "'de: 't, Selector: TryFrom<&'t str>, Selector::Error: 'static + Diagnostic",try_from = "&'t str")] - edit in common/beancount-types/src/account/template.rs at line 126
}}impl<'t, Selector> Clone for Template<'t, Selector>whereSelector: Clone,{fn clone(&self) -> Self {Self {base: self.base,segments: self.segments.clone(),} - edit in common/beancount-types/Cargo.toml at line 19
serde.workspace = true - edit in Cargo.lock at line 218
"serde", - edit in Cargo.lock at line 934[8.16649][8.16649]
"rust_decimal","serde",