Add type for account segments

korrat
Oct 25, 2022, 4:02 PM
R7S2CWF72WQTE447Q62PKCVJSSCEXHMVUJ33Z6IN6NREOUSD4WNQC

Dependencies

  • [2] 2JBFREZG enable additional warnings
  • [3] MYQI5JID update dependencies
  • [4] D6UTHZA4 add a simple writer for saving a set of directives to a tree of files
  • [5] I2P2FTLE add basic parser for german decimals
  • [6] QRIJE4AQ add a simple pretty printer for beancount directives
  • [7] YDK6X6PP add a library of important types for beancount
  • [8] ND7GASJ4 track current column position when writing
  • [9] 5S4MZHL5 pretty print decimals using icu
  • [10] NSWL54NM allow deriving pretty printing config from a set of directives
  • [11] UESS5YZE migrate dependencies into workspace manifest
  • [12] M7VINXOF use fixed_decimal for decimal formatting
  • [13] ONRIF4V7 add basic snapshot test for pretty printer

Change contents

  • edit in common/beancount-types/src/lib.rs at line 1
    [3.5874]
    [2.4030]
    extern crate alloc;
  • edit in common/beancount-types/src/lib.rs at line 6
    [2.4092]
    [2.4092]
    pub use crate::account::Seg;
    pub use crate::account::Segment;
  • edit in common/beancount-types/src/account.rs at line 17
    [3.11491]
    [2.13963]
    use miette::Diagnostic;
  • edit in common/beancount-types/src/account.rs at line 87
    [3.12450]
    [3.12450]
    }
    }
    impl AsRef<Self> for Acc {
    #[inline]
    fn as_ref(&self) -> &Self {
    self
  • edit in common/beancount-types/src/account.rs at line 100
    [3.12531]
    [3.12531]
    self
    }
    }
    impl Deref for Acc {
    type Target = str;
    fn deref(&self) -> &Self::Target {
  • edit in common/beancount-types/src/account.rs at line 300
    [3.16732]
    [3.16732]
    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
    [2.15999][3.17095:17475](),[3.17095][3.17095:17475]()
    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);
    [2.15999]
    [3.17475]
    pub fn join(self, segment: impl AsRef<Seg>) -> Self {
    let mut this = self;
  • replacement in common/beancount-types/src/account.rs at line 334
    [3.17476][3.17476:17507]()
    Ok(this)
    }
    [3.17476]
    [3.17507]
    this.name.push(':');
    this.name.push_str(segment.as_ref().as_ref());
  • replacement in common/beancount-types/src/account.rs at line 337
    [3.17508][3.17508:17551]()
    join_inner(self, segment.as_ref())
    [3.17508]
    [3.17551]
    this
  • edit in common/beancount-types/src/account.rs at line 348
    [3.17657][3.17657:17769]()
    impl AsRef<String> for Account {
    #[inline]
    fn as_ref(&self) -> &String {
    self.borrow()
    }
    }
  • replacement in common/beancount-types/src/account.rs at line 351
    [3.17844][3.17844:17866]()
    self.borrow()
    [3.17844]
    [3.17866]
    self
  • edit in common/beancount-types/src/account.rs at line 362
    [3.17973][3.17973:18187]()
    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
    [3.24242]
    [3.24242]
    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
    [3.24951]
    [3.24951]
    }
    }
    #[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
    [3.24960]
    [3.24960]
    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
    [3.25085][3.25085:25194]()
    delegate! {
    to self.inner {
    fn next_back(&mut self) -> Option<Self::Item>;
    }
    [3.25085]
    [3.25194]
    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
    [3.25280][3.25280:25305]()
    type Item = &'a str;
    [3.25280]
    [3.25305]
    type Item = &'a Seg;
  • replacement in common/beancount-types/src/account.rs at line 1186
    [3.25306][3.25306:25410]()
    delegate! {
    to self.inner {
    fn next(&mut self) -> Option<Self::Item>;
    }
    [3.25306]
    [3.25410]
    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
    [3.331]
    [2.16377]
    miette.workspace = true
  • replacement in Cargo.toml at line 17
    [3.1097][3.776:800](),[3.1079][3.776:800](),[3.800][3.1912:1934]()
    fixed_decimal = "0.5.0"
    icu_datagen = "1.0.1"
    [3.1097]
    [3.1934]
    fixed_decimal = "0.5.1"
    icu_datagen = "1.0.2"
  • replacement in Cargo.toml at line 21
    [3.1976][3.1976:1999]()
    icu_provider = "1.0.0"
    [3.1976]
    [3.1098]
    icu_provider = "1.0.1"
  • replacement in Cargo.toml at line 24
    [3.2367][3.1122:1142]()
    inventory = "0.3.1"
    [3.2367]
    [3.1142]
    inventory = "0.3.2"
  • replacement in Cargo.toml at line 28
    [3.2018][2.23431:23442]()
    momo = "*"
    [3.2018]
    [3.2018]
    momo = "0.2.2"
    miette = "5.3.0"
  • edit in Cargo.toml at line 31
    [3.2039]
    [3.1185]
    pretty_assertions = "1.3.0"
  • replacement in Cargo.toml at line 38
    [3.2422][3.1236:1252]()
    snafu = "0.7.1"
    [3.2422]
    [3.1252]
    snafu = "0.7.3"
  • replacement in Cargo.toml at line 41
    [3.1300][3.1300:1319]()
    tracing = "0.1.36"
    [3.1300]
    [3.1319]
    tracing = "0.1.37"
  • replacement in Cargo.toml at line 53
    [3.1492][3.1492:1510]()
    version = "4.0.8"
    [3.1492]
    [3.2059]
    version = "4.0.18"
  • replacement in Cargo.toml at line 61
    [3.1637][3.1637:1657]()
    version = "1.0.145"
    [3.1637]
    [3.1657]
    version = "1.0.147"
  • replacement in Cargo.toml at line 64
    [3.2453][3.2453:2494]()
    features = ["macros"]
    version = "0.3.14"
    [3.2453]
    [3.1659]
    features = ["local-offset", "macros", "parsing"]
    version = "0.3.15"
  • replacement in Cargo.toml at line 69
    [3.1730][3.1730:1749]()
    version = "0.3.15"
    [3.1730]
    [3.1749]
    version = "0.3.16"
  • edit in Cargo.toml at line 72
    [3.1770]
    [3.1770]
    authors = ["Markus Haug <korrat@protonmail.com>"]
  • edit in Cargo.lock at line 74
    [3.3060]
    [3.3060]
    ]
    [[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
    [3.3739][3.3739:3758]()
    version = "0.13.0"
    [3.3739]
    [3.3758]
    version = "0.13.1"
  • replacement in Cargo.lock at line 133
    [3.3823][3.3823:3901]()
    checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
    [3.3823]
    [3.3901]
    checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
  • replacement in Cargo.lock at line 137
    [3.3932][3.3932:3950]()
    version = "1.0.1"
    [3.3932]
    [3.3950]
    version = "1.5.3"
  • replacement in Cargo.lock at line 139
    [3.4015][3.4015:4093]()
    checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b"
    [3.4015]
    [3.2615]
    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
    [3.5565][2.23536:23545]()
    "bstr",
    [3.5565]
    [3.801]
    "bstr 1.0.1",
  • replacement in Cargo.lock at line 183
    [3.2655][3.4198:4214](),[3.2530][3.4198:4214]()
    "time 0.3.14",
    [3.2655]
    [3.7734]
    "time 0.3.15",
  • replacement in Cargo.lock at line 201
    [3.5885][3.4227:4243]()
    "time 0.3.14",
    [3.5885]
    [3.5582]
    "time 0.3.15",
  • edit in Cargo.lock at line 212
    [3.26652]
    [2.23546]
    "miette",
  • replacement in Cargo.lock at line 220
    [3.26752][3.4244:4260]()
    "time 0.3.14",
    [3.26752]
    [3.4260]
    "time 0.3.15",
  • edit in Cargo.lock at line 272
    [3.5088]
    [3.2667]
    ]
    [[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
    [3.5163][3.5163:5182]()
    version = "3.11.0"
    [3.5163]
    [3.5182]
    version = "3.11.1"
  • replacement in Cargo.lock at line 302
    [3.5247][3.5247:5325]()
    checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
    [3.5247]
    [3.5325]
    checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
  • edit in Cargo.lock at line 433
    [3.7649]
    [3.2969]
    ]
    [[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
    [3.7827]
    [3.7827]
    [[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
    [3.10501]
    [3.4211]
    ]
    [[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
    [3.13376]
    [3.13376]
    ]
    [[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
    [3.15532][3.15532:15551]()
    version = "0.2.17"
    [3.15532]
    [3.15551]
    version = "0.2.18"
  • replacement in Cargo.lock at line 1055
    [3.15616][3.15616:15694]()
    checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"
    [3.15616]
    [3.15694]
    checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3"
  • replacement in Cargo.lock at line 1060
    [3.15755][3.15755:15778]()
    "windows-sys 0.36.1",
    [3.15755]
    [3.15778]
    "windows-sys 0.42.0",
  • replacement in Cargo.lock at line 1065
    [3.1106][3.1106:1124]()
    version = "0.5.0"
    [3.1106]
    [3.1124]
    version = "0.5.1"
  • replacement in Cargo.lock at line 1067
    [3.1189][3.1189:1267]()
    checksum = "ceab5dbd7a3a08385160503f6b6636420dbd72d29babdf8c894d4534304191c3"
    [3.1189]
    [3.1267]
    checksum = "a7f6fa77730b2c921549ccecf3ad7b0ce0fb14481d47fad0c358addc4aeb456a"
  • edit in Cargo.lock at line 1071
    [3.1312][3.1312:1334]()
    "static_assertions",
  • replacement in Cargo.lock at line 1126
    [3.16971][3.16971:16990]()
    version = "0.3.24"
    [3.16971]
    [3.16990]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1128
    [3.17055][3.17055:17133]()
    checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"
    [3.17055]
    [3.17133]
    checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
  • replacement in Cargo.lock at line 1135
    [3.17204][3.17204:17223]()
    version = "0.3.24"
    [3.17204]
    [3.17223]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1137
    [3.17288][3.17288:17366]()
    checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"
    [3.17288]
    [3.17366]
    checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
  • replacement in Cargo.lock at line 1141
    [3.17399][3.17399:17418]()
    version = "0.3.24"
    [3.17399]
    [3.17418]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1143
    [3.17483][3.17483:17561]()
    checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"
    [3.17483]
    [3.17561]
    checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
  • replacement in Cargo.lock at line 1147
    [3.17596][3.17596:17615]()
    version = "0.3.24"
    [3.17596]
    [3.17615]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1149
    [3.17680][3.17680:17758]()
    checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"
    [3.17680]
    [3.17758]
    checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
  • replacement in Cargo.lock at line 1153
    [3.17793][3.17793:17812]()
    version = "0.3.24"
    [3.17793]
    [3.17812]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1155
    [3.17877][3.17877:17955]()
    checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"
    [3.17877]
    [3.17955]
    checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
  • replacement in Cargo.lock at line 1159
    [3.17990][3.17990:18009]()
    version = "0.3.24"
    [3.17990]
    [3.18009]
    version = "0.3.25"
  • replacement in Cargo.lock at line 1161
    [3.18074][3.18074:18152]()
    checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"
    [3.18074]
    [3.18152]
    checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
  • replacement in Cargo.lock at line 1202
    [3.29129][3.29129:29147]()
    version = "0.2.7"
    [3.29129]
    [3.29147]
    version = "0.2.8"
  • replacement in Cargo.lock at line 1204
    [3.29212][3.29212:29290]()
    checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
    [3.29212]
    [3.29290]
    checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
  • edit in Cargo.lock at line 1209
    [3.18832]
    [3.10522]
    ]
    [[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
    [3.20674][2.24050:24059]()
    "itoa",
    [3.20674]
    [3.20683]
    "itoa 1.0.4",
  • replacement in Cargo.lock at line 1372
    [3.21649][2.24060:24069]()
    "itoa",
    [3.21649]
    [3.21658]
    "itoa 1.0.4",
  • replacement in Cargo.lock at line 1396
    [3.22057][3.22057:22076]()
    version = "0.1.50"
    [3.22057]
    [3.22076]
    version = "0.1.51"
  • replacement in Cargo.lock at line 1398
    [3.22141][3.22141:22219]()
    checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0"
    [3.22141]
    [3.22219]
    checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed"
  • edit in Cargo.lock at line 1402
    [3.22290]
    [3.22290]
    "iana-time-zone-haiku",
  • edit in Cargo.lock at line 1406
    [3.22329]
    [3.22329]
    ]
    [[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
    [3.23686][3.23686:23704]()
    version = "1.0.1"
    [3.23686]
    [3.23704]
    version = "1.0.2"
  • replacement in Cargo.lock at line 1486
    [3.23769][3.23769:23847]()
    checksum = "96028b754c73d61cc3d517458fe1aaab13bda735bec86559619d8c29eb72f9fc"
    [3.23769]
    [3.23847]
    checksum = "a5a1044c100861e425ad08ca500ff6d817ffb6c72f1fd7e19ea9a9f45f47fa95"
  • replacement in Cargo.lock at line 1525
    [3.24432][3.24432:24446]()
    "zip 0.6.2",
    [3.24432]
    [3.24446]
    "zip 0.6.3",
  • replacement in Cargo.lock at line 1665
    [3.27217][3.27217:27235]()
    version = "1.0.0"
    [3.27217]
    [3.27235]
    version = "1.0.1"
  • replacement in Cargo.lock at line 1667
    [3.27300][3.27300:27378]()
    checksum = "e629bc2b6591ed9e4467d8a0fa2a597b70cff64ff8170e54a3f0f3257b99873f"
    [3.27300]
    [3.27378]
    checksum = "2f911086e3c521a8a824d4f8bfd87769645ced2f07ff913b521c0d793be07100"
  • edit in Cargo.lock at line 1828
    [3.30160]
    [3.5435]
    ]
    [[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
    [3.30029]
    [3.9463]
    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
    [3.5639][3.30380:30398](),[3.30380][3.30380:30398]()
    version = "1.0.3"
    [3.5639]
    [3.30398]
    version = "0.4.8"
  • replacement in Cargo.lock at line 1865
    [3.30463][3.30463:30541]()
    checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
    [3.30463]
    [3.30541]
    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
    [3.30771][3.5640:5660]()
    version = "0.2.134"
    [3.30771]
    [3.30791]
    version = "0.2.135"
  • replacement in Cargo.lock at line 1930
    [3.30856][3.5661:5739]()
    checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
    [3.30856]
    [3.30934]
    checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
  • edit in Cargo.lock at line 1943
    [3.31421]
    [3.30947]
    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
    [3.32571]
    [3.31146]
    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
    [3.10149]
    [3.10149]
    ]
    [[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
    [3.34223]
    [3.34223]
    [[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
    [3.35930][3.35930:35949]()
    version = "0.9.76"
    [3.35930]
    [3.35949]
    version = "0.9.77"
  • replacement in Cargo.lock at line 2283
    [3.36014][3.36014:36092]()
    checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce"
    [3.36014]
    [3.36092]
    checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a"
  • edit in Cargo.lock at line 2293
    [3.36177]
    [3.10848]
    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
    [3.11068][3.11068:11086]()
    version = "0.9.3"
    [3.11068]
    [3.11086]
    version = "0.9.4"
  • replacement in Cargo.lock at line 2324
    [3.11151][3.11151:11229]()
    checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
    [3.11151]
    [3.11229]
    checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
  • replacement in Cargo.lock at line 2330
    [3.11297][3.36446:36469]()
    "windows-sys 0.36.1",
    [3.11297]
    [3.36469]
    "windows-sys 0.42.0",
  • replacement in Cargo.lock at line 2335
    [3.36507][3.36507:36525]()
    version = "0.3.2"
    [3.36507]
    [3.36525]
    version = "0.4.2"
  • replacement in Cargo.lock at line 2337
    [3.36590][3.36590:36668]()
    checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8"
    [3.36590]
    [3.36668]
    checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
  • replacement in Cargo.lock at line 2346
    [3.36754][3.36754:36773]()
    version = "0.10.1"
    [3.36754]
    [3.36773]
    version = "0.11.0"
  • replacement in Cargo.lock at line 2348
    [3.36838][3.36838:36916]()
    checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7"
    [3.36838]
    [3.36916]
    checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
  • replacement in Cargo.lock at line 2429
    [3.10784][3.6175:6194]()
    version = "1.0.46"
    [3.10784]
    [3.10803]
    version = "1.0.47"
  • replacement in Cargo.lock at line 2431
    [3.10868][3.6195:6273]()
    checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
    [3.10868]
    [3.10946]
    checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
  • edit in Cargo.lock at line 2585
    [3.1538]
    [3.38499]
    dependencies = [
    "regex-syntax",
    ]
  • edit in Cargo.lock at line 2716
    [3.40860]
    [3.6311]
    ]
    [[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
    [3.11725]
    [3.42174]
    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
    [3.11740][3.529:549]()
    version = "1.0.145"
    [3.11740]
    [3.11760]
    version = "1.0.147"
  • replacement in Cargo.lock at line 2880
    [3.11825][3.550:628]()
    checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
    [3.11825]
    [3.43553]
    checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
  • replacement in Cargo.lock at line 2917
    [3.44321][3.44321:44341]()
    version = "1.0.145"
    [3.44321]
    [3.44341]
    version = "1.0.147"
  • replacement in Cargo.lock at line 2919
    [3.44406][3.44406:44484]()
    checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
    [3.44406]
    [3.44484]
    checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852"
  • replacement in Cargo.lock at line 2928
    [3.44570][3.44570:44589]()
    version = "1.0.85"
    [3.44570]
    [3.44589]
    version = "1.0.87"
  • replacement in Cargo.lock at line 2930
    [3.44654][3.44654:44732]()
    checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
    [3.44654]
    [3.44732]
    checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45"
  • replacement in Cargo.lock at line 2932
    [3.44749][2.24287:24296]()
    "itoa",
    [3.44749]
    [3.44758]
    "itoa 1.0.4",
  • replacement in Cargo.lock at line 2944
    [3.45015][2.24297:24306]()
    "itoa",
    [3.45015]
    [3.45024]
    "itoa 1.0.4",
  • edit in Cargo.lock at line 3020
    [3.12891]
    [3.35629]
    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
    [3.35644][3.35644:35662]()
    version = "0.7.1"
    [3.35644]
    [3.35662]
    version = "0.7.3"
  • replacement in Cargo.lock at line 3029
    [3.35727][3.35727:35805]()
    checksum = "5177903bf45656592d9eb5c0e22f408fc023aae51dbe2088889b71633ba451f2"
    [3.35727]
    [3.35805]
    checksum = "a152ba99b054b22972ee794cf04e5ef572da1229e33b65f3c57abbff0525a454"
  • replacement in Cargo.lock at line 3037
    [3.35892][3.35892:35910]()
    version = "0.7.1"
    [3.35892]
    [3.35910]
    version = "0.7.3"
  • replacement in Cargo.lock at line 3039
    [3.35975][3.35975:36053]()
    checksum = "410b26ed97440d90ced3e2488c868d56a86e2064f5d7d6f417909b286afe25e5"
    [3.35975]
    [3.36053]
    checksum = "d5e79cdebbabaebb06a9bdbaedc7f159b410461f63611d4d0e3fb0fab8fed850"
  • edit in Cargo.lock at line 3137
    [3.6597]
    [3.48270]
    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
    [3.36329]
    [3.36329]
    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
    [3.36342][3.6776:6796]()
    version = "1.0.101"
    [3.36342]
    [3.36361]
    version = "1.0.103"
  • replacement in Cargo.lock at line 3180
    [3.36426][3.6797:6875]()
    checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
    [3.36426]
    [3.36504]
    checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
  • edit in Cargo.lock at line 3231
    [3.6891]
    [3.36872]
    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
    [3.49223]
    [3.49223]
    ]
    [[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
    [3.50441][3.37641:37660](),[3.37641][3.37641:37660]()
    version = "0.3.14"
    [3.50441]
    [3.37660]
    version = "0.3.15"
  • replacement in Cargo.lock at line 3347
    [3.37725][3.37725:37803]()
    checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b"
    [3.37725]
    [3.37803]
    checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c"
  • replacement in Cargo.lock at line 3349
    [3.37820][2.24406:24415]()
    "itoa",
    [3.37820]
    [3.37820]
    "itoa 1.0.4",
  • replacement in Cargo.lock at line 3469
    [3.13154][3.13154:13173]()
    version = "0.1.36"
    [3.13154]
    [3.13173]
    version = "0.1.37"
  • replacement in Cargo.lock at line 3471
    [3.13238][3.13238:13316]()
    checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
    [3.13238]
    [3.13316]
    checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
  • replacement in Cargo.lock at line 3482
    [3.53072][3.53072:53091]()
    version = "0.1.22"
    [3.53072]
    [3.53091]
    version = "0.1.23"
  • replacement in Cargo.lock at line 3484
    [3.53156][3.53156:53234]()
    checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
    [3.53156]
    [3.53234]
    checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
  • replacement in Cargo.lock at line 3493
    [3.13419][3.13419:13438]()
    version = "0.1.29"
    [3.13419]
    [3.13438]
    version = "0.1.30"
  • replacement in Cargo.lock at line 3495
    [3.13503][3.13503:13581]()
    checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
    [3.13503]
    [3.13581]
    checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
  • edit in Cargo.lock at line 3509
    [3.13876]
    [3.7317]
    ]
    [[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
    [3.13919][3.13919:13938]()
    version = "0.3.15"
    [3.13919]
    [3.13938]
    version = "0.3.16"
  • replacement in Cargo.lock at line 3526
    [3.14003][3.14003:14081]()
    checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b"
    [3.14003]
    [3.14081]
    checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
  • edit in Cargo.lock at line 3528
    [3.14098]
    [3.14098]
    "matchers",
    "nu-ansi-term",
    "once_cell",
    "regex",
  • edit in Cargo.lock at line 3533
    [3.14115]
    [3.14115]
    "smallvec",
  • edit in Cargo.lock at line 3535
    [3.14132]
    [3.14132]
    "tracing",
  • edit in Cargo.lock at line 3537
    [3.14149]
    [3.37845]
    "tracing-log",
  • replacement in Cargo.lock at line 3560
    [3.11939][3.729:747]()
    version = "1.0.4"
    [3.11939]
    [3.11957]
    version = "1.0.5"
  • replacement in Cargo.lock at line 3562
    [3.12022][3.748:826]()
    checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
    [3.12022]
    [3.37848]
    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
    [3.54104]
    [3.54104]
    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
    [3.54299]
    [3.54299]
    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
    [3.38964]
    [3.38964]
    [[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
    [3.64510]
    [3.14671]
    ]
    [[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
    [3.14673]
    [3.64511]
    [[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
    [3.64730]
    [3.64730]
    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
    [3.15079]
    [3.64919]
    [[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
    [3.65135]
    [3.65135]
    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
    [3.15485]
    [3.15485]
    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
    [3.15676]
    [3.15676]
    [[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
    [3.66466][3.66466:66484]()
    version = "0.6.0"
    [3.66466]
    [3.66484]
    version = "0.6.1"
  • replacement in Cargo.lock at line 4306
    [3.66549][3.66549:66627]()
    checksum = "58c2c5bb7c929b85c1b9ec69091b0d835f0878b4fd9eb67973b25936e06c4374"
    [3.66549]
    [3.66627]
    checksum = "1346e4cd025ae818b88566eac7eb65ab33a994ea55f355c86889af2e7e56b14e"
  • replacement in Cargo.lock at line 4325
    [3.66966][3.66966:66984]()
    version = "0.1.0"
    [3.66966]
    [3.66984]
    version = "0.1.1"
  • replacement in Cargo.lock at line 4327
    [3.67049][3.67049:67127]()
    checksum = "8785f47d6062c1932866147f91297286a9f350b3070e9d9f0b6078e37d623c1a"
    [3.67049]
    [3.67127]
    checksum = "2e8aa86add9ddbd2409c1ed01e033cd457d79b1b1229b64922c25095c595e829"
  • replacement in Cargo.lock at line 4376
    [3.68051][3.68051:68069]()
    version = "0.6.2"
    [3.68051]
    [3.68069]
    version = "0.6.3"
  • replacement in Cargo.lock at line 4378
    [3.68134][3.68134:68212]()
    checksum = "bf225bcf73bb52cbb496e70475c7bd7a3f769df699c0020f6c7bd9a96dcf0b8d"
    [3.68134]
    [3.68212]
    checksum = "537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080"
  • replacement in Cargo.lock at line 4390
    [3.68363][3.68363:68379]()
    "time 0.3.14",
    [3.68363]
    [3.68379]
    "time 0.3.15",
  • replacement in Cargo.lock at line 4405
    [3.68649][3.68649:68679]()
    version = "0.10.2+zstd.1.5.2"
    [3.68649]
    [3.68679]
    version = "0.11.2+zstd.1.5.2"
  • replacement in Cargo.lock at line 4407
    [3.68744][3.68744:68822]()
    checksum = "5f4a6bd64f22b5e3e94b4e238669ff9f10815c27a5180108b849d24174a83847"
    [3.68744]
    [3.68822]
    checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
  • replacement in Cargo.lock at line 4414
    [3.68887][3.68887:68916]()
    version = "4.1.6+zstd.1.5.2"
    [3.68887]
    [3.68916]
    version = "5.0.2+zstd.1.5.2"
  • replacement in Cargo.lock at line 4416
    [3.68981][3.68981:69059]()
    checksum = "94b61c51bb270702d6167b8ce67340d2754b088d0c091b06e593aa772c3ee9bb"
    [3.68981]
    [3.69059]
    checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
  • replacement in Cargo.lock at line 4424
    [3.69131][3.69131:69160]()
    version = "1.6.3+zstd.1.5.2"
    [3.69131]
    [3.69160]
    version = "2.0.1+zstd.1.5.2"
  • replacement in Cargo.lock at line 4426
    [3.69225][3.69225:69303]()
    checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8"
    [3.69225]
    [3.69303]
    checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"