-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle errors with snafu #32
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🤠 Cargo bloat for toolchain stable-x86_64-unknown-linux-gnu 🤠 @@ Size breakdown @@
Size 215 B
Text size 215 B
No changes to crate sizes Dependency tree@@ Dependency tree @@
- Count: 469
+ Count: 475
├─ anyhow v1.0.91
├─ clap v4.5.20
│ ├─ clap_builder v4.5.20
│ │ ├─ anstream v0.6.15
│ │ ├─ anstyle v1.0.8
│ │ ├─ clap_lex v0.7.2
│ │ └─ strsim v0.11.1
│ └─ clap_derive v4.5.18 (proc-macro)
├─ mlua v0.10.0
│ ├─ anyhow v1.0.91
│ ├─ bstr v1.10.0
│ │ └─ memchr v2.7.4
│ ├─ either v1.13.0
│ ├─ mlua-sys v0.6.4
│ │ ├─ cc v1.1.31
│ │ │ └─ shlex v1.3.0
│ │ ├─ cfg-if v1.0.0
│ │ └─ pkg-config v0.3.31
│ ├─ mlua_derive v0.10.0 (proc-macro)
│ │ ├─ proc-macro2 v1.0.89
│ │ ├─ quote v1.0.37
│ │ └─ syn v2.0.82
│ ├─ num-traits v0.2.19
│ │ └─ autocfg v1.4.0
│ ├─ parking_lot v0.12.3
│ │ ├─ lock_api v0.4.12
│ │ │ ├─ scopeguard v1.2.0
│ │ │ └─ autocfg v1.4.0
│ │ └─ parking_lot_core v0.9.10
│ │ ├─ cfg-if v1.0.0
│ │ ├─ libc v0.2.161
│ │ └─ smallvec v1.13.2
│ └─ rustc-hash v2.0.0
├─ pyo3 v0.22.5
│ ├─ cfg-if v1.0.0
│ ├─ indoc v2.0.5 (proc-macro)
│ ├─ libc v0.2.161
│ ├─ memoffset v0.9.1
│ │ └─ autocfg v1.4.0
│ ├─ once_cell v1.20.2
│ ├─ pyo3-ffi v0.22.5
│ │ ├─ libc v0.2.161
│ │ └─ pyo3-build-config v0.22.5
│ │ ├─ once_cell v1.20.2
│ │ └─ target-lexicon v0.12.16
│ ├─ pyo3-macros v0.22.5 (proc-macro)
│ │ ├─ proc-macro2 v1.0.89
│ │ ├─ pyo3-macros-backend v0.22.5
│ │ │ ├─ heck v0.5.0
│ │ │ ├─ proc-macro2 v1.0.89
│ │ │ ├─ pyo3-build-config v0.22.5
│ │ │ ├─ quote v1.0.37
│ │ │ └─ syn v2.0.82
│ │ ├─ quote v1.0.37
│ │ └─ syn v2.0.82
│ ├─ unindent v0.2.3
│ └─ pyo3-build-config v0.22.5
├─ regex v1.11.0
│ ├─ aho-corasick v1.1.3
│ │ └─ memchr v2.7.4
│ ├─ memchr v2.7.4
│ ├─ regex-automata v0.4.8
│ │ ├─ aho-corasick v1.1.3
│ │ ├─ memchr v2.7.4
│ │ └─ regex-syntax v0.8.5
│ └─ regex-syntax v0.8.5
+ ├─ snafu v0.8.5
+ │ └─ snafu-derive v0.8.5 (proc-macro)
+ │ ├─ heck v0.5.0
+ │ ├─ proc-macro2 v1.0.89
+ │ ├─ quote v1.0.37
+ │ └─ syn v2.0.82
├─ strum v0.26.3
├─ strum_macros v0.26.4 (proc-macro)
│ ├─ heck v0.5.0
│ ├─ proc-macro2 v1.0.89
│ ├─ quote v1.0.37
│ ├─ rustversion v1.0.18 (proc-macro)
│ └─ syn v2.0.82
├─ titlecase v3.3.0
│ └─ regex v1.11.0
├─ unicode_titlecase v2.4.0
├─ wasm-bindgen v0.2.95
│ ├─ cfg-if v1.0.0
│ ├─ once_cell v1.20.2
│ └─ wasm-bindgen-macro v0.2.95 (proc-macro)
│ ├─ quote v1.0.37
│ └─ wasm-bindgen-macro-support v0.2.95
│ ├─ proc-macro2 v1.0.89
│ ├─ quote v1.0.37
│ ├─ syn v2.0.82
│ ├─ wasm-bindgen-backend v0.2.95
│ │ ├─ bumpalo v3.16.0
│ │ ├─ log v0.4.22
│ │ ├─ once_cell v1.20.2
│ │ ├─ proc-macro2 v1.0.89
│ │ ├─ quote v1.0.37
│ │ ├─ syn v2.0.82
│ │ └─ wasm-bindgen-shared v0.2.95
│ └─ wasm-bindgen-shared v0.2.95
├─ clap_complete v4.5.33
│ └─ clap v4.5.20
├─ clap_mangen v0.2.24
│ ├─ clap v4.5.20
│ └─ roff v0.2.2
├─ strum_macros v0.26.4 (proc-macro)
└─ vergen-gix v1.0.2
├─ anyhow v1.0.91
├─ derive_builder v0.20.2
│ └─ derive_builder_macro v0.20.2 (proc-macro)
│ ├─ derive_builder_core v0.20.2
│ │ ├─ darling v0.20.10
│ │ │ ├─ darling_core v0.20.10
│ │ │ │ ├─ fnv v1.0.7
│ │ │ │ ├─ ident_case v1.0.1
│ │ │ │ ├─ proc-macro2 v1.0.89
│ │ │ │ ├─ quote v1.0.37
│ │ │ │ ├─ strsim v0.11.1
│ │ │ │ └─ syn v2.0.82
│ │ │ └─ darling_macro v0.20.10 (proc-macro)
│ │ │ ├─ darling_core v0.20.10
│ │ │ ├─ quote v1.0.37
│ │ │ └─ syn v2.0.82
│ │ ├─ proc-macro2 v1.0.89
│ │ ├─ quote v1.0.37
│ │ └─ syn v2.0.82
│ └─ syn v2.0.82
├─ gix v0.66.0
│ ├─ gix-actor v0.32.0
│ │ ├─ bstr v1.10.0
│ │ │ ├─ memchr v2.7.4
│ │ │ └─ regex-automata v0.4.8
│ │ │ ├─ aho-corasick v1.1.3
│ │ │ ├─ memchr v2.7.4
│ │ │ └─ regex-syntax v0.8.5
│ │ ├─ gix-date v0.9.1
│ │ │ ├─ bstr v1.10.0
│ │ │ ├─ itoa v1.0.11
│ │ │ ├─ jiff v0.1.13
│ │ │ └─ thiserror v1.0.65
│ │ │ └─ thiserror-impl v1.0.65 (proc-macro)
│ │ │ ├─ proc-macro2 v1.0.89
│ │ │ ├─ quote v1.0.37
│ │ │ └─ syn v2.0.82
│ │ ├─ gix-utils v0.1.13
│ │ │ ├─ fastrand v2.1.1
│ │ │ └─ unicode-normalization v0.1.24
│ │ │ └─ tinyvec v1.8.0
│ │ │ └─ tinyvec_macros v0.1.1
│ │ ├─ itoa v1.0.11
│ │ ├─ thiserror v1.0.65
│ │ └─ winnow v0.6.20
│ │ └─ memchr v2.7.4
│ ├─ gix-commitgraph v0.24.3
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-chunk v0.4.9
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-features v0.38.2
│ │ │ ├─ crc32fast v1.4.2
│ │ │ │ └─ cfg-if v1.0.0
│ │ │ ├─ flate2 v1.0.34
│ │ │ │ ├─ crc32fast v1.4.2
│ │ │ │ └─ miniz_oxide v0.8.0
│ │ │ │ └─ adler2 v2.0.0
│ │ │ ├─ gix-hash v0.14.2
│ │ │ │ ├─ faster-hex v0.9.0
│ │ │ │ └─ thiserror v1.0.65
│ │ │ ├─ gix-trace v0.1.11
│ │ │ ├─ gix-utils v0.1.13
│ │ │ ├─ libc v0.2.161
│ │ │ ├─ once_cell v1.20.2
│ │ │ ├─ prodash v28.0.0
│ │ │ ├─ sha1_smol v1.0.1
│ │ │ ├─ thiserror v1.0.65
│ │ │ └─ walkdir v2.5.0
│ │ │ └─ same-file v1.0.6
│ │ ├─ gix-hash v0.14.2
│ │ ├─ memmap2 v0.9.5
│ │ │ └─ libc v0.2.161
│ │ └─ thiserror v1.0.65
│ ├─ gix-config v0.40.0
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-config-value v0.14.9
│ │ │ ├─ bitflags v2.6.0
│ │ │ ├─ bstr v1.10.0
│ │ │ ├─ gix-path v0.10.12
│ │ │ │ ├─ bstr v1.10.0
│ │ │ │ ├─ gix-trace v0.1.11
│ │ │ │ ├─ home v0.5.9
│ │ │ │ ├─ once_cell v1.20.2
│ │ │ │ └─ thiserror v1.0.65
│ │ │ ├─ libc v0.2.161
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-features v0.38.2
│ │ ├─ gix-glob v0.16.5
│ │ │ ├─ bitflags v2.6.0
│ │ │ ├─ bstr v1.10.0
│ │ │ ├─ gix-features v0.38.2
│ │ │ └─ gix-path v0.10.12
│ │ ├─ gix-path v0.10.12
│ │ ├─ gix-ref v0.47.0
│ │ │ ├─ gix-actor v0.32.0
│ │ │ ├─ gix-features v0.38.2
│ │ │ ├─ gix-fs v0.11.3
│ │ │ │ ├─ fastrand v2.1.1
│ │ │ │ ├─ gix-features v0.38.2
│ │ │ │ └─ gix-utils v0.1.13
│ │ │ ├─ gix-hash v0.14.2
│ │ │ ├─ gix-lock v14.0.0
│ │ │ │ ├─ gix-tempfile v14.0.2
│ │ │ │ │ ├─ gix-fs v0.11.3
│ │ │ │ │ ├─ libc v0.2.161
│ │ │ │ │ ├─ once_cell v1.20.2
│ │ │ │ │ ├─ parking_lot v0.12.3
│ │ │ │ │ │ ├─ lock_api v0.4.12
│ │ │ │ │ │ │ ├─ scopeguard v1.2.0
│ │ │ │ │ │ │ └─ autocfg v1.4.0
│ │ │ │ │ │ └─ parking_lot_core v0.9.10
│ │ │ │ │ ├─ signal-hook v0.3.17
│ │ │ │ │ │ ├─ libc v0.2.161
│ │ │ │ │ │ └─ signal-hook-registry v1.4.2
│ │ │ │ │ │ └─ libc v0.2.161
│ │ │ │ │ ├─ signal-hook-registry v1.4.2
│ │ │ │ │ └─ tempfile v3.13.0
│ │ │ │ │ ├─ cfg-if v1.0.0
│ │ │ │ │ ├─ fastrand v2.1.1
│ │ │ │ │ ├─ once_cell v1.20.2
│ │ │ │ │ └─ rustix v0.38.37
│ │ │ │ │ ├─ bitflags v2.6.0
│ │ │ │ │ └─ linux-raw-sys v0.4.14
│ │ │ │ ├─ gix-utils v0.1.13
│ │ │ │ └─ thiserror v1.0.65
│ │ │ ├─ gix-object v0.44.0
│ │ │ │ ├─ bstr v1.10.0
│ │ │ │ ├─ gix-actor v0.32.0
│ │ │ │ ├─ gix-date v0.9.1
│ │ │ │ ├─ gix-features v0.38.2
│ │ │ │ ├─ gix-hash v0.14.2
│ │ │ │ ├─ gix-utils v0.1.13
│ │ │ │ ├─ gix-validate v0.9.1
│ │ │ │ │ ├─ bstr v1.10.0
│ │ │ │ │ └─ thiserror v1.0.65
│ │ │ │ ├─ itoa v1.0.11
│ │ │ │ ├─ smallvec v1.13.2
│ │ │ │ ├─ thiserror v1.0.65
│ │ │ │ └─ winnow v0.6.20
│ │ │ ├─ gix-path v0.10.12
│ │ │ ├─ gix-tempfile v14.0.2
│ │ │ ├─ gix-utils v0.1.13
│ │ │ ├─ gix-validate v0.9.1
│ │ │ ├─ memmap2 v0.9.5
│ │ │ ├─ thiserror v1.0.65
│ │ │ └─ winnow v0.6.20
│ │ ├─ gix-sec v0.10.9
│ │ │ ├─ bitflags v2.6.0
│ │ │ └─ libc v0.2.161
│ │ ├─ memchr v2.7.4
│ │ ├─ once_cell v1.20.2
│ │ ├─ smallvec v1.13.2
│ │ ├─ thiserror v1.0.65
│ │ ├─ unicode-bom v2.0.3
│ │ └─ winnow v0.6.20
│ ├─ gix-date v0.9.1
│ ├─ gix-diff v0.46.0
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-hash v0.14.2
│ │ ├─ gix-object v0.44.0
│ │ └─ thiserror v1.0.65
│ ├─ gix-discover v0.35.0
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-fs v0.11.3
│ │ ├─ gix-hash v0.14.2
│ │ ├─ gix-path v0.10.12
│ │ ├─ gix-ref v0.47.0
│ │ ├─ gix-sec v0.10.9
│ │ └─ thiserror v1.0.65
│ ├─ gix-features v0.38.2
│ ├─ gix-fs v0.11.3
│ ├─ gix-glob v0.16.5
│ ├─ gix-hash v0.14.2
│ ├─ gix-hashtable v0.5.2
│ │ ├─ gix-hash v0.14.2
│ │ ├─ hashbrown v0.14.5
│ │ │ ├─ ahash v0.8.11
│ │ │ │ ├─ cfg-if v1.0.0
│ │ │ │ ├─ once_cell v1.20.2
│ │ │ │ ├─ zerocopy v0.7.35
│ │ │ │ └─ version_check v0.9.5
│ │ │ └─ allocator-api2 v0.2.18
│ │ └─ parking_lot v0.12.3
│ ├─ gix-index v0.35.0
│ │ ├─ bitflags v2.6.0
│ │ ├─ bstr v1.10.0
│ │ ├─ filetime v0.2.25
│ │ │ ├─ cfg-if v1.0.0
│ │ │ └─ libc v0.2.161
│ │ ├─ fnv v1.0.7
│ │ ├─ gix-bitmap v0.2.12
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-features v0.38.2
│ │ ├─ gix-fs v0.11.3
│ │ ├─ gix-hash v0.14.2
│ │ ├─ gix-lock v14.0.0
│ │ ├─ gix-object v0.44.0
│ │ ├─ gix-traverse v0.41.0
│ │ │ ├─ bitflags v2.6.0
│ │ │ ├─ gix-commitgraph v0.24.3
│ │ │ ├─ gix-date v0.9.1
│ │ │ ├─ gix-hash v0.14.2
│ │ │ ├─ gix-hashtable v0.5.2
│ │ │ ├─ gix-object v0.44.0
│ │ │ ├─ gix-revwalk v0.15.0
│ │ │ │ ├─ gix-commitgraph v0.24.3
│ │ │ │ ├─ gix-date v0.9.1
│ │ │ │ ├─ gix-hash v0.14.2
│ │ │ │ ├─ gix-hashtable v0.5.2
│ │ │ │ ├─ gix-object v0.44.0
│ │ │ │ ├─ smallvec v1.13.2
│ │ │ │ └─ thiserror v1.0.65
│ │ │ ├─ smallvec v1.13.2
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-utils v0.1.13
│ │ ├─ gix-validate v0.9.1
│ │ ├─ hashbrown v0.14.5
│ │ ├─ itoa v1.0.11
│ │ ├─ libc v0.2.161
│ │ ├─ memmap2 v0.9.5
│ │ ├─ rustix v0.38.37
│ │ ├─ smallvec v1.13.2
│ │ └─ thiserror v1.0.65
│ ├─ gix-lock v14.0.0
│ ├─ gix-object v0.44.0
│ ├─ gix-odb v0.63.0
│ │ ├─ arc-swap v1.7.1
│ │ ├─ gix-date v0.9.1
│ │ ├─ gix-features v0.38.2
│ │ ├─ gix-fs v0.11.3
│ │ ├─ gix-hash v0.14.2
│ │ ├─ gix-object v0.44.0
│ │ ├─ gix-pack v0.53.0
│ │ │ ├─ clru v0.6.2
│ │ │ ├─ gix-chunk v0.4.9
│ │ │ ├─ gix-features v0.38.2
│ │ │ ├─ gix-hash v0.14.2
│ │ │ ├─ gix-hashtable v0.5.2
│ │ │ ├─ gix-object v0.44.0
│ │ │ ├─ gix-path v0.10.12
│ │ │ ├─ memmap2 v0.9.5
│ │ │ ├─ smallvec v1.13.2
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-path v0.10.12
│ │ ├─ gix-quote v0.4.13
│ │ │ ├─ bstr v1.10.0
│ │ │ ├─ gix-utils v0.1.13
│ │ │ └─ thiserror v1.0.65
│ │ ├─ parking_lot v0.12.3
│ │ ├─ tempfile v3.13.0
│ │ └─ thiserror v1.0.65
│ ├─ gix-pack v0.53.0
│ ├─ gix-path v0.10.12
│ ├─ gix-ref v0.47.0
│ ├─ gix-refspec v0.25.0
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-hash v0.14.2
│ │ ├─ gix-revision v0.29.0
│ │ │ ├─ bstr v1.10.0
│ │ │ ├─ gix-date v0.9.1
│ │ │ ├─ gix-hash v0.14.2
│ │ │ ├─ gix-hashtable v0.5.2
│ │ │ ├─ gix-object v0.44.0
│ │ │ ├─ gix-revwalk v0.15.0
│ │ │ ├─ gix-trace v0.1.11
│ │ │ └─ thiserror v1.0.65
│ │ ├─ gix-validate v0.9.1
│ │ ├─ smallvec v1.13.2
│ │ └─ thiserror v1.0.65
│ ├─ gix-revision v0.29.0
│ ├─ gix-revwalk v0.15.0
│ ├─ gix-sec v0.10.9
│ ├─ gix-tempfile v14.0.2
│ ├─ gix-trace v0.1.11
│ ├─ gix-traverse v0.41.0
│ ├─ gix-url v0.27.5
│ │ ├─ bstr v1.10.0
│ │ ├─ gix-features v0.38.2
│ │ ├─ gix-path v0.10.12
│ │ ├─ home v0.5.9
│ │ ├─ thiserror v1.0.65
│ │ └─ url v2.5.2
│ │ ├─ form_urlencoded v1.2.1
│ │ │ └─ percent-encoding v2.3.1
│ │ ├─ idna v0.5.0
│ │ │ ├─ unicode-bidi v0.3.17
│ │ │ └─ unicode-normalization v0.1.24
│ │ └─ percent-encoding v2.3.1
│ ├─ gix-utils v0.1.13
│ ├─ gix-validate v0.9.1
│ ├─ once_cell v1.20.2
│ ├─ parking_lot v0.12.3
│ ├─ signal-hook v0.3.17
│ ├─ smallvec v1.13.2
│ └─ thiserror v1.0.65
├─ time v0.3.36
│ ├─ deranged v0.3.11
│ │ └─ powerfmt v0.2.0
│ ├─ itoa v1.0.11
│ ├─ libc v0.2.161
│ ├─ num-conv v0.1.0
│ ├─ num_threads v0.1.7
│ ├─ powerfmt v0.2.0
│ └─ time-core v0.1.2
├─ vergen v9.0.1
│ ├─ anyhow v1.0.91
│ ├─ cargo_metadata v0.18.1
│ │ ├─ camino v1.1.9
│ │ │ └─ serde v1.0.213
│ │ │ └─ serde_derive v1.0.213 (proc-macro)
│ │ │ ├─ proc-macro2 v1.0.89
│ │ │ ├─ quote v1.0.37
│ │ │ └─ syn v2.0.82
│ │ ├─ cargo-platform v0.1.8
│ │ │ └─ serde v1.0.213
│ │ ├─ semver v1.0.23
│ │ │ └─ serde v1.0.213
│ │ ├─ serde v1.0.213
│ │ ├─ serde_json v1.0.132
│ │ │ ├─ itoa v1.0.11
│ │ │ ├─ memchr v2.7.4
│ │ │ ├─ ryu v1.0.18
│ │ │ └─ serde v1.0.213
│ │ └─ thiserror v1.0.65
│ ├─ derive_builder v0.20.2
│ ├─ regex v1.11.0
│ ├─ rustc_version v0.4.1
│ │ └─ semver v1.0.23
│ ├─ time v0.3.36
│ ├─ vergen-lib v0.1.4
│ │ ├─ anyhow v1.0.91
│ │ ├─ derive_builder v0.20.2
│ │ └─ rustversion v1.0.18 (proc-macro)
│ └─ rustversion v1.0.18 (proc-macro)
├─ vergen-lib v0.1.4
└─ rustversion v1.0.18 (proc-macro)
Commit: 3e86fdc (Compare with baseline commit) |
Whether or not I switch the library from anyhow, the CLI cat use snafu. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is better error handling, but I'm holding off merging until #31 is settled and I look into whether our crate used as a library should use snafu or anyhow. I know anyhow plays nice with mlua, but it it can be made to work would rather use snafu.