lints.workspace = true [package] name = "gix-error" version = "0.2.5" repository = "https://github.com/GitoxideLabs/gitoxide" license = "MIT OR Apache-2.0" description = "A crate of the gitoxide project to provide common errors and error-handling utilities" authors = ["Sebastian Thiel "] edition = "2024" include = ["/src/**/*", "/LICENSE-*"] rust-version = "1.85" [features] ## The [`Exn`](crate::Exn) type converts to [`anyhow::Error`] natively so `?` can be used directly. ## ## Otherwise, it would have to be manually converted via ## [`into_box()`](crate::Exn::into_box()) or [`into_inner()`](crate::Exn::into_inner()). anyhow = ["dep:anyhow"] ## The [`Error`](crate::Error) type is always flattening the [`Exn`](crate::Exn) error tree ## into a chain of errors, while keeping their locations and runtime type-information. auto-chain-error = [] ## The opposite of `auto-chain-error` and implicitly enabled by default. Use it to override `auto-chain-error`. tree-error = [] [[test]] name = "auto-chain-error" path = "tests/auto_chain_error.rs" required-features = ["auto-chain-error"] [dependencies] bstr = { version = "1.12.0", default-features = false, features = ["std"] } anyhow = { version = "1.0.102", optional = true } document-features = { version = "0.2.0", optional = true } [dev-dependencies] gix-error = { path = ".", features = ["anyhow"] } insta = "1.46.3" [package.metadata.docs.rs] all-features = true features = ["document-features"]