Add type for account segments
Dependencies
- [2]
2JBFREZGenable additional warnings - [3]
MYQI5JIDupdate dependencies - [4]
D6UTHZA4add a simple writer for saving a set of directives to a tree of files - [5]
I2P2FTLEadd basic parser for german decimals - [6]
QRIJE4AQadd a simple pretty printer for beancount directives - [7]
YDK6X6PPadd a library of important types for beancount - [8]
ND7GASJ4track current column position when writing - [9]
5S4MZHL5pretty print decimals using icu - [10]
NSWL54NMallow deriving pretty printing config from a set of directives - [11]
UESS5YZEmigrate dependencies into workspace manifest - [12]
M7VINXOFuse fixed_decimal for decimal formatting - [13]
ONRIF4V7add basic snapshot test for pretty printer
Change contents
- edit in common/beancount-types/src/lib.rs at line 1
extern crate alloc; - edit in common/beancount-types/src/lib.rs at line 6
pub use crate::account::Seg;pub use crate::account::Segment; - edit in common/beancount-types/src/account.rs at line 17
use miette::Diagnostic; - edit in common/beancount-types/src/account.rs at line 87
}}impl AsRef<Self> for Acc {#[inline]fn as_ref(&self) -> &Self {self - edit in common/beancount-types/src/account.rs at line 100
self}}impl Deref for Acc {type Target = str;fn deref(&self) -> &Self::Target { - edit in common/beancount-types/src/account.rs at line 300
impl<'a> TryFrom<&'a Seg> for &'a Acc {type Error = AccountError;fn try_from(segment: &'a Seg) -> Result<Self, Self::Error> {Self::try_from(&segment.inner)}} - replacement in common/beancount-types/src/account.rs at line 331
pub fn join(self, segment: impl AsRef<str>) -> Result<Self, AccountError> {fn join_inner(mut this: Account, segment: &str) -> Result<Account, AccountError> {ensure!(is_valid_account_segment(segment),AccountSnafu { name: segment });this.name.push(':');this.name.push_str(segment);pub fn join(self, segment: impl AsRef<Seg>) -> Self {let mut this = self; - replacement in common/beancount-types/src/account.rs at line 334
Ok(this)}this.name.push(':');this.name.push_str(segment.as_ref().as_ref()); - replacement in common/beancount-types/src/account.rs at line 337
join_inner(self, segment.as_ref())this - edit in common/beancount-types/src/account.rs at line 348
impl AsRef<String> for Account {#[inline]fn as_ref(&self) -> &String {self.borrow()}} - replacement in common/beancount-types/src/account.rs at line 351
self.borrow()self - edit in common/beancount-types/src/account.rs at line 362
impl Borrow<String> for Account {#[inline]fn borrow(&self) -> &String {&self.name}}impl Borrow<str> for Account {#[inline]fn borrow(&self) -> &str {&self.name}} - edit in common/beancount-types/src/account.rs at line 631
impl TryFrom<&Seg> for Account {type Error = <Self as TryFrom<&'static str>>::Error;fn try_from(segment: &Seg) -> Result<Self, Self::Error> {Self::try_from(&segment.inner)}}impl TryFrom<Segment> for Account {type Error = <Self as TryFrom<String>>::Error;fn try_from(segment: Segment) -> Result<Self, Self::Error> {Self::try_from(segment.inner)}} - edit in common/beancount-types/src/account.rs at line 680
}}#[derive(Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]#[repr(transparent)]pub struct Seg {inner: str,}impl Seg {/// Create a new `Seg` from a `str` without validating the name before.////// # Safety////// Other functions on this type assume that `name` is a valid account name, as defined by beancount./// You must ensure that this is the case./// See [`is_valid_account_segment`] for a function providing that guarantee.#[allow(unsafe_code)]const unsafe fn from_unchecked(name: &str) -> &Self {unsafe {// SAFETY: Seg is repr(transparent), so it has the same representation as a str, which makes the cast safe.let name: *const _ = name;let name = name as *const _;&*name}}}impl AsRef<str> for Seg {#[inline]fn as_ref(&self) -> &str {self.borrow()}}impl AsRef<Self> for Seg {#[inline]fn as_ref(&self) -> &Self {self}}impl Borrow<str> for Seg {#[inline]fn borrow(&self) -> &str {self}}impl Deref for Seg {type Target = str;#[inline]fn deref(&self) -> &Self::Target {&self.inner}}impl Display for Seg {delegate! {to self.inner {fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result;}}}impl PartialEq<&str> for Seg {#[inline]fn eq(&self, other: &&str) -> bool {self.eq(*other)}}impl PartialEq<Cow<'_, Self>> for Seg {#[inline]fn eq(&self, other: &Cow<'_, Seg>) -> bool {self.eq(&**other)}}impl PartialEq<Cow<'_, str>> for Seg {#[inline]fn eq(&self, other: &Cow<'_, str>) -> bool {self.eq(&**other)}}impl PartialEq<Seg> for &str {#[inline]fn eq(&self, other: &Seg) -> bool {other.eq(self)}}impl PartialEq<Seg> for Cow<'_, Seg> {#[inline]fn eq(&self, other: &Seg) -> bool {other.eq(self)}}impl PartialEq<Seg> for Cow<'_, str> {#[inline]fn eq(&self, other: &Seg) -> bool {other.eq(self)}}impl PartialEq<Seg> for String {#[inline]fn eq(&self, other: &Seg) -> bool {other.eq(self)}}impl PartialEq<Seg> for str {#[inline]fn eq(&self, other: &Seg) -> bool {other.eq(self)}}impl PartialEq<String> for Seg {#[inline]fn eq(&self, other: &String) -> bool {self.eq(&**other)}}impl PartialEq<str> for Seg {#[inline]fn eq(&self, other: &str) -> bool {self.partial_cmp(other).map_or(false, Ordering::is_eq)}}impl PartialOrd<Cow<'_, Self>> for Seg {#[inline]fn partial_cmp(&self, other: &Cow<'_, Seg>) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<Cow<'_, str>> for Seg {#[inline]fn partial_cmp(&self, other: &Cow<'_, str>) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<Seg> for &str {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Seg> for Cow<'_, Seg> {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Seg> for Cow<'_, str> {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Seg> for String {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Seg> for str {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<String> for Seg {#[inline]fn partial_cmp(&self, other: &String) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<&str> for Seg {#[inline]fn partial_cmp(&self, other: &&str) -> Option<Ordering> {self.partial_cmp(*other)}}impl PartialOrd<str> for Seg {#[inline]fn partial_cmp(&self, other: &str) -> Option<Ordering> {self.inner.partial_cmp(other)}}impl ToOwned for Seg {type Owned = Segment;#[inline]fn to_owned(&self) -> Self::Owned {self.into()}}impl<'s> TryFrom<&'s str> for &'s Seg {type Error = SegmentError;fn try_from(segment: &'s str) -> Result<Self, Self::Error> {ensure!(is_valid_account_segment(segment), SegmentSnafu { segment });Ok(#[allow(unsafe_code)]unsafe {// SAFETY: we have ensured that `value` is valid.Seg::from_unchecked(segment)},)}}#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]#[repr(transparent)]pub struct Segment {inner: String,}impl AsRef<Seg> for Segment {#[inline]fn as_ref(&self) -> &Seg {self.borrow()}}impl AsRef<str> for Segment {#[inline]fn as_ref(&self) -> &str {self}}impl Borrow<Seg> for Segment {#[inline]fn borrow(&self) -> &Seg {self}}impl Deref for Segment {type Target = Seg;#[inline]fn deref(&self) -> &Self::Target {#[allow(unsafe_code)]unsafe {// SAFETY: `self` is a valid `Segment`, therefore `self.inner` is a valid segment, by construction.Self::Target::from_unchecked(&self.inner)}}}impl Display for Segment {delegate! {to self.inner {fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result;}}}impl From<&Seg> for Segment {#[inline]fn from(seg: &Seg) -> Self {let inner = seg.inner.into();Self { inner }}}impl PartialEq<&str> for Segment {#[inline]fn eq(&self, other: &&str) -> bool {self.eq(*other)}}impl PartialEq<Cow<'_, Seg>> for Segment {#[inline]fn eq(&self, other: &Cow<'_, Seg>) -> bool {self.eq(&**other)}}impl PartialEq<Cow<'_, str>> for Segment {#[inline]fn eq(&self, other: &Cow<'_, str>) -> bool {self.eq(&**other)}}impl PartialEq<Seg> for Segment {#[inline]fn eq(&self, other: &Seg) -> bool {(**self).eq(other)}}impl PartialEq<Segment> for &str {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<Segment> for Cow<'_, Seg> {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<Segment> for Cow<'_, str> {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<Segment> for Seg {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<Segment> for String {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<Segment> for str {#[inline]fn eq(&self, other: &Segment) -> bool {other.eq(self)}}impl PartialEq<String> for Segment {#[inline]fn eq(&self, other: &String) -> bool {self.eq(&**other)}}impl PartialEq<str> for Segment {#[inline]fn eq(&self, other: &str) -> bool {self.partial_cmp(other).map_or(false, Ordering::is_eq)}}impl PartialOrd<Cow<'_, Seg>> for Segment {#[inline]fn partial_cmp(&self, other: &Cow<'_, Seg>) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<Cow<'_, str>> for Segment {#[inline]fn partial_cmp(&self, other: &Cow<'_, str>) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<Seg> for Segment {#[inline]fn partial_cmp(&self, other: &Seg) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Segment> for &str {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Segment> for Cow<'_, Seg> {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self) - edit in common/beancount-types/src/account.rs at line 1086
impl PartialOrd<Segment> for Cow<'_, str> {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Segment> for Seg {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Segment> for String {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<Segment> for str {#[inline]fn partial_cmp(&self, other: &Segment) -> Option<Ordering> {other.partial_cmp(self)}}impl PartialOrd<String> for Segment {#[inline]fn partial_cmp(&self, other: &String) -> Option<Ordering> {self.partial_cmp(&**other)}}impl PartialOrd<&str> for Segment {#[inline]fn partial_cmp(&self, other: &&str) -> Option<Ordering> {self.partial_cmp(*other)}}impl PartialOrd<str> for Segment {#[inline]fn partial_cmp(&self, other: &str) -> Option<Ordering> {(*self.inner).partial_cmp(other)}}impl TryFrom<&str> for Segment {type Error = <&'static Seg as TryFrom<&'static str>>::Error;#[inline]fn try_from(name: &str) -> Result<Self, Self::Error> {<&Seg>::try_from(name).map(Self::from)}}impl TryFrom<String> for Segment {type Error = <Self as TryFrom<&'static str>>::Error;#[inline]fn try_from(segment: String) -> Result<Self, Self::Error> {ensure!(is_valid_account_segment(&segment), SegmentSnafu { segment });Ok(Self { inner: segment })}}#[derive(Debug, Diagnostic, Snafu)]#[snafu(display("invalid account segment: {segment:?}"))]pub struct SegmentError {segment: String,backtrace: Backtrace,} - replacement in common/beancount-types/src/account.rs at line 1170
delegate! {to self.inner {fn next_back(&mut self) -> Option<Self::Item>;}fn next_back(&mut self) -> Option<Self::Item> {self.inner.next_back().map(|seg| {#[allow(unsafe_code)]unsafe {// SAFETY: `self` is a valid `Acc`, therefore each `seg` is a valid segment, by construction.Seg::from_unchecked(seg)}}) - replacement in common/beancount-types/src/account.rs at line 1184
type Item = &'a str;type Item = &'a Seg; - replacement in common/beancount-types/src/account.rs at line 1186
delegate! {to self.inner {fn next(&mut self) -> Option<Self::Item>;}fn next(&mut self) -> Option<Self::Item> {self.inner.next().map(|seg| {#[allow(unsafe_code)]unsafe {// SAFETY: `self` is a valid `Acc`, therefore each `seg` is a valid segment, by construction.Seg::from_unchecked(seg)}}) - edit in common/beancount-types/Cargo.toml at line 14
miette.workspace = true - replacement in Cargo.toml at line 17
fixed_decimal = "0.5.0"icu_datagen = "1.0.1"fixed_decimal = "0.5.1"icu_datagen = "1.0.2" - replacement in Cargo.toml at line 21
icu_provider = "1.0.0"icu_provider = "1.0.1" - replacement in Cargo.toml at line 24
inventory = "0.3.1"inventory = "0.3.2" - replacement in Cargo.toml at line 28
momo = "*"momo = "0.2.2"miette = "5.3.0" - edit in Cargo.toml at line 31
pretty_assertions = "1.3.0" - replacement in Cargo.toml at line 38
snafu = "0.7.1"snafu = "0.7.3" - replacement in Cargo.toml at line 41
tracing = "0.1.36"tracing = "0.1.37" - replacement in Cargo.toml at line 53
version = "4.0.8"version = "4.0.18" - replacement in Cargo.toml at line 61
version = "1.0.145"version = "1.0.147" - replacement in Cargo.toml at line 64
features = ["macros"]version = "0.3.14"features = ["local-offset", "macros", "parsing"]version = "0.3.15" - replacement in Cargo.toml at line 69
version = "0.3.15"version = "0.3.16" - edit in Cargo.toml at line 72
authors = ["Markus Haug <korrat@protonmail.com>"] - edit in Cargo.lock at line 74
][[package]]name = "atty"version = "0.2.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"dependencies = ["hermit-abi","libc","winapi", - replacement in Cargo.lock at line 131
version = "0.13.0"version = "0.13.1" - replacement in Cargo.lock at line 133
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - replacement in Cargo.lock at line 137
version = "1.0.1"version = "1.5.3" - replacement in Cargo.lock at line 139
checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b"checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"[[package]]name = "beancount-importers-framework"version = "0.0.0-dev.0"dependencies = ["beancount-pretty-printer","beancount-tree-writer","beancount-types","camino","clap","clap-verbosity-flag","color-eyre","ebase","inventory","maplit","miette","ron","serde","tracing","tracing-error","tracing-log","tracing-subscriber","uniondepot",] - replacement in Cargo.lock at line 170
"bstr","bstr 1.0.1", - replacement in Cargo.lock at line 183
"time 0.3.14","time 0.3.15", - replacement in Cargo.lock at line 201
"time 0.3.14","time 0.3.15", - edit in Cargo.lock at line 212
"miette", - replacement in Cargo.lock at line 220
"time 0.3.14","time 0.3.15", - edit in Cargo.lock at line 272
][[package]]name = "bstr"version = "0.2.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"dependencies = ["lazy_static","memchr","regex-automata 0.1.10","serde", - replacement in Cargo.lock at line 300
version = "3.11.0"version = "3.11.1" - replacement in Cargo.lock at line 302
checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" - edit in Cargo.lock at line 433
][[package]]name = "clap"version = "4.0.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "335867764ed2de42325fafe6d18b8af74ba97ee0c590fa016f157535b42ab04b"dependencies = ["atty","bitflags","clap_derive","clap_lex","once_cell","strsim","termcolor",][[package]]name = "clap-verbosity-flag"version = "2.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "23e2b6c3dcdb73299f48ae05b294da14e2f560b3ed2c09e742269eb1b22af231"dependencies = ["clap","log",][[package]]name = "clap_derive"version = "4.0.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "16a1b0f6422af32d5da0c58e2703320f379216ee70198241c84173a8c5ac28f3"dependencies = ["heck","proc-macro-error","proc-macro2","quote","syn",][[package]]name = "clap_lex"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"dependencies = ["os_str_bytes", - edit in Cargo.lock at line 487
[[package]]name = "codespan-reporting"version = "0.11.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"dependencies = ["termcolor","unicode-width",] - edit in Cargo.lock at line 678
][[package]]name = "csv"version = "1.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"dependencies = ["bstr 0.2.17","csv-core","itoa 0.4.8","ryu","serde",][[package]]name = "csv-core"version = "0.1.10"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"dependencies = ["memchr",][[package]]name = "ctor"version = "0.1.26"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"dependencies = ["quote","syn",][[package]]name = "cxx"version = "1.0.80"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a"dependencies = ["cc","cxxbridge-flags","cxxbridge-macro","link-cplusplus",][[package]]name = "cxx-build"version = "1.0.80"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827"dependencies = ["cc","codespan-reporting","once_cell","proc-macro2","quote","scratch","syn",][[package]]name = "cxxbridge-flags"version = "1.0.80"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a"[[package]]name = "cxxbridge-macro"version = "1.0.80"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7"dependencies = ["proc-macro2","quote","syn", - edit in Cargo.lock at line 921
][[package]]name = "ebase"version = "0.0.0-dev.0"dependencies = ["beancount-types","csv","german-decimal","itertools","miette","snafu","time 0.3.15", - replacement in Cargo.lock at line 1053
version = "0.2.17"version = "0.2.18" - replacement in Cargo.lock at line 1055
checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" - replacement in Cargo.lock at line 1060
"windows-sys 0.36.1","windows-sys 0.42.0", - replacement in Cargo.lock at line 1065
version = "0.5.0"version = "0.5.1" - replacement in Cargo.lock at line 1067
checksum = "ceab5dbd7a3a08385160503f6b6636420dbd72d29babdf8c894d4534304191c3"checksum = "a7f6fa77730b2c921549ccecf3ad7b0ce0fb14481d47fad0c358addc4aeb456a" - edit in Cargo.lock at line 1071
"static_assertions", - replacement in Cargo.lock at line 1126
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1128
checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" - replacement in Cargo.lock at line 1135
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1137
checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" - replacement in Cargo.lock at line 1141
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1143
checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" - replacement in Cargo.lock at line 1147
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1149
checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" - replacement in Cargo.lock at line 1153
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1155
checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" - replacement in Cargo.lock at line 1159
version = "0.3.24"version = "0.3.25" - replacement in Cargo.lock at line 1161
checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" - replacement in Cargo.lock at line 1202
version = "0.2.7"version = "0.2.8" - replacement in Cargo.lock at line 1204
checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" - edit in Cargo.lock at line 1209
][[package]]name = "ghost"version = "0.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a"dependencies = ["proc-macro2","quote","syn", - replacement in Cargo.lock at line 1331
"itoa","itoa 1.0.4", - replacement in Cargo.lock at line 1372
"itoa","itoa 1.0.4", - replacement in Cargo.lock at line 1396
version = "0.1.50"version = "0.1.51" - replacement in Cargo.lock at line 1398
checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0"checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" - edit in Cargo.lock at line 1402
"iana-time-zone-haiku", - edit in Cargo.lock at line 1406
][[package]]name = "iana-time-zone-haiku"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"dependencies = ["cxx","cxx-build", - replacement in Cargo.lock at line 1484
version = "1.0.1"version = "1.0.2" - replacement in Cargo.lock at line 1486
checksum = "96028b754c73d61cc3d517458fe1aaab13bda735bec86559619d8c29eb72f9fc"checksum = "a5a1044c100861e425ad08ca500ff6d817ffb6c72f1fd7e19ea9a9f45f47fa95" - replacement in Cargo.lock at line 1525
"zip 0.6.2","zip 0.6.3", - replacement in Cargo.lock at line 1665
version = "1.0.0"version = "1.0.1" - replacement in Cargo.lock at line 1667
checksum = "e629bc2b6591ed9e4467d8a0fa2a597b70cff64ff8170e54a3f0f3257b99873f"checksum = "2f911086e3c521a8a824d4f8bfd87769645ced2f07ff913b521c0d793be07100" - edit in Cargo.lock at line 1828
][[package]]name = "inventory"version = "0.3.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e21e0a36a4dc4b469422ee17f715e8313f4a637675656d6a13637954278c6f55"dependencies = ["ctor","ghost", - edit in Cargo.lock at line 1847
name = "is_ci"version = "1.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fb"[[package]] - replacement in Cargo.lock at line 1863
version = "1.0.3"version = "0.4.8" - replacement in Cargo.lock at line 1865
checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"[[package]]name = "itoa"version = "1.0.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" - replacement in Cargo.lock at line 1928
version = "0.2.134"version = "0.2.135" - replacement in Cargo.lock at line 1930
checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" - edit in Cargo.lock at line 1943
name = "link-cplusplus"version = "1.0.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"dependencies = ["cc",][[package]] - edit in Cargo.lock at line 2016
name = "maplit"version = "1.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"[[package]]name = "matchers"version = "0.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"dependencies = ["regex-automata 0.1.10",][[package]] - edit in Cargo.lock at line 2052
][[package]]name = "miette"version = "5.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a28d6092d7e94a90bb9ea8e6c26c99d5d112d49dda2afdb4f7ea8cf09e1a5a6d"dependencies = ["atty","backtrace","miette-derive","once_cell","owo-colors","supports-color","supports-hyperlinks","supports-unicode","terminal_size","textwrap","thiserror","unicode-width",][[package]]name = "miette-derive"version = "5.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4f2485ed7d1fe80704928e3eb86387439609bd0c6bb96db8208daa364cfd1e09"dependencies = ["proc-macro2","quote","syn", - edit in Cargo.lock at line 2159
[[package]]name = "nu-ansi-term"version = "0.46.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"dependencies = ["overload","winapi",] - replacement in Cargo.lock at line 2281
version = "0.9.76"version = "0.9.77" - replacement in Cargo.lock at line 2283
checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce"checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" - edit in Cargo.lock at line 2293
name = "os_str_bytes"version = "6.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"[[package]]name = "overload"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"[[package]] - replacement in Cargo.lock at line 2322
version = "0.9.3"version = "0.9.4" - replacement in Cargo.lock at line 2324
checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" - replacement in Cargo.lock at line 2330
"windows-sys 0.36.1","windows-sys 0.42.0", - replacement in Cargo.lock at line 2335
version = "0.3.2"version = "0.4.2" - replacement in Cargo.lock at line 2337
checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8"checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" - replacement in Cargo.lock at line 2346
version = "0.10.1"version = "0.11.0" - replacement in Cargo.lock at line 2348
checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7"checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" - replacement in Cargo.lock at line 2429
version = "1.0.46"version = "1.0.47" - replacement in Cargo.lock at line 2431
checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" - edit in Cargo.lock at line 2585
dependencies = ["regex-syntax",] - edit in Cargo.lock at line 2716
][[package]]name = "ron"version = "0.8.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff"dependencies = ["base64","bitflags","serde", - edit in Cargo.lock at line 2821
name = "scratch"version = "1.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"[[package]] - replacement in Cargo.lock at line 2878
version = "1.0.145"version = "1.0.147" - replacement in Cargo.lock at line 2880
checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" - replacement in Cargo.lock at line 2917
version = "1.0.145"version = "1.0.147" - replacement in Cargo.lock at line 2919
checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" - replacement in Cargo.lock at line 2928
version = "1.0.85"version = "1.0.87" - replacement in Cargo.lock at line 2930
checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" - replacement in Cargo.lock at line 2932
"itoa","itoa 1.0.4", - replacement in Cargo.lock at line 2944
"itoa","itoa 1.0.4", - edit in Cargo.lock at line 3020
name = "smawk"version = "0.3.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"[[package]] - replacement in Cargo.lock at line 3027
version = "0.7.1"version = "0.7.3" - replacement in Cargo.lock at line 3029
checksum = "5177903bf45656592d9eb5c0e22f408fc023aae51dbe2088889b71633ba451f2"checksum = "a152ba99b054b22972ee794cf04e5ef572da1229e33b65f3c57abbff0525a454" - replacement in Cargo.lock at line 3037
version = "0.7.1"version = "0.7.3" - replacement in Cargo.lock at line 3039
checksum = "410b26ed97440d90ced3e2488c868d56a86e2064f5d7d6f417909b286afe25e5"checksum = "d5e79cdebbabaebb06a9bdbaedc7f159b410461f63611d4d0e3fb0fab8fed850" - edit in Cargo.lock at line 3137
name = "strsim"version = "0.10.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"[[package]] - edit in Cargo.lock at line 3149
name = "supports-color"version = "1.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4872ced36b91d47bae8a214a683fe54e7078875b399dfa251df346c9b547d1f9"dependencies = ["atty","is_ci",][[package]]name = "supports-hyperlinks"version = "1.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "590b34f7c5f01ecc9d78dba4b3f445f31df750a67621cf31626f3b7441ce6406"dependencies = ["atty",][[package]]name = "supports-unicode"version = "1.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a8b945e45b417b125a8ec51f1b7df2f8df7920367700d1f98aedd21e5735f8b2"dependencies = ["atty",][[package]] - replacement in Cargo.lock at line 3178
version = "1.0.101"version = "1.0.103" - replacement in Cargo.lock at line 3180
checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" - edit in Cargo.lock at line 3231
name = "termcolor"version = "1.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"dependencies = ["winapi-util",][[package]] - edit in Cargo.lock at line 3269
][[package]]name = "textwrap"version = "0.15.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"dependencies = ["smawk","unicode-linebreak","unicode-width", - replacement in Cargo.lock at line 3345
version = "0.3.14"version = "0.3.15" - replacement in Cargo.lock at line 3347
checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b"checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" - replacement in Cargo.lock at line 3349
"itoa","itoa 1.0.4", - replacement in Cargo.lock at line 3469
version = "0.1.36"version = "0.1.37" - replacement in Cargo.lock at line 3471
checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" - replacement in Cargo.lock at line 3482
version = "0.1.22"version = "0.1.23" - replacement in Cargo.lock at line 3484
checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" - replacement in Cargo.lock at line 3493
version = "0.1.29"version = "0.1.30" - replacement in Cargo.lock at line 3495
checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" - edit in Cargo.lock at line 3509
][[package]]name = "tracing-log"version = "0.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"dependencies = ["lazy_static","log","tracing-core", - replacement in Cargo.lock at line 3524
version = "0.3.15"version = "0.3.16" - replacement in Cargo.lock at line 3526
checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b"checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" - edit in Cargo.lock at line 3528
"matchers","nu-ansi-term","once_cell","regex", - edit in Cargo.lock at line 3533
"smallvec", - edit in Cargo.lock at line 3535
"tracing", - edit in Cargo.lock at line 3537
"tracing-log", - replacement in Cargo.lock at line 3560
version = "1.0.4"version = "1.0.5" - replacement in Cargo.lock at line 3562
checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"[[package]]name = "unicode-linebreak"version = "0.1.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"dependencies = ["hashbrown 0.12.3","regex",] - edit in Cargo.lock at line 3590
name = "unicode-width"version = "0.1.10"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"[[package]] - edit in Cargo.lock at line 3602
name = "uniondepot"version = "0.0.0-dev.0"dependencies = ["beancount-types","color-eyre","csv","german-decimal","inventory","miette","once_cell","time 0.3.15",][[package]] - edit in Cargo.lock at line 4092
[[package]]name = "winapi-util"version = "0.1.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"dependencies = ["winapi",] - edit in Cargo.lock at line 4132
][[package]]name = "windows-sys"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"dependencies = ["windows_aarch64_gnullvm","windows_aarch64_msvc 0.42.0","windows_i686_gnu 0.42.0","windows_i686_msvc 0.42.0","windows_x86_64_gnu 0.42.0","windows_x86_64_gnullvm","windows_x86_64_msvc 0.42.0", - edit in Cargo.lock at line 4148
[[package]]name = "windows_aarch64_gnullvm"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" - edit in Cargo.lock at line 4168
name = "windows_aarch64_msvc"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"[[package]] - edit in Cargo.lock at line 4184
[[package]]name = "windows_i686_gnu"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" - edit in Cargo.lock at line 4204
name = "windows_i686_msvc"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"[[package]] - edit in Cargo.lock at line 4222
name = "windows_x86_64_gnu"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"[[package]]name = "windows_x86_64_gnullvm"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"[[package]] - edit in Cargo.lock at line 4244
[[package]]name = "windows_x86_64_msvc"version = "0.42.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" - replacement in Cargo.lock at line 4304
version = "0.6.0"version = "0.6.1" - replacement in Cargo.lock at line 4306
checksum = "58c2c5bb7c929b85c1b9ec69091b0d835f0878b4fd9eb67973b25936e06c4374"checksum = "1346e4cd025ae818b88566eac7eb65ab33a994ea55f355c86889af2e7e56b14e" - replacement in Cargo.lock at line 4325
version = "0.1.0"version = "0.1.1" - replacement in Cargo.lock at line 4327
checksum = "8785f47d6062c1932866147f91297286a9f350b3070e9d9f0b6078e37d623c1a"checksum = "2e8aa86add9ddbd2409c1ed01e033cd457d79b1b1229b64922c25095c595e829" - replacement in Cargo.lock at line 4376
version = "0.6.2"version = "0.6.3" - replacement in Cargo.lock at line 4378
checksum = "bf225bcf73bb52cbb496e70475c7bd7a3f769df699c0020f6c7bd9a96dcf0b8d"checksum = "537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080" - replacement in Cargo.lock at line 4390
"time 0.3.14","time 0.3.15", - replacement in Cargo.lock at line 4405
version = "0.10.2+zstd.1.5.2"version = "0.11.2+zstd.1.5.2" - replacement in Cargo.lock at line 4407
checksum = "5f4a6bd64f22b5e3e94b4e238669ff9f10815c27a5180108b849d24174a83847"checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" - replacement in Cargo.lock at line 4414
version = "4.1.6+zstd.1.5.2"version = "5.0.2+zstd.1.5.2" - replacement in Cargo.lock at line 4416
checksum = "94b61c51bb270702d6167b8ce67340d2754b088d0c091b06e593aa772c3ee9bb"checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" - replacement in Cargo.lock at line 4424
version = "1.6.3+zstd.1.5.2"version = "2.0.1+zstd.1.5.2" - replacement in Cargo.lock at line 4426
checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8"checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"