Expand description
Cross-service gRPC errors for Rust.
aerro is the open-source Rust gRPC error library — cross-service typed
errors with bounded inline call traces, structured upcasting/downcasting,
and zero allocations on the happy path.
See docs/specs/2026-05-24-aerro-v1-design.md for the full design spec.
Re-exports§
pub use any::render_chain;pub use category::Category;pub use error::DecodeError;pub use error::EncodeError;pub use exposure::Exposure;pub use failure::ServiceFailure;pub use frame::Frame;pub use handler::AerroHandler;pub use handler::Handler;pub use remote::RemoteError;pub use trace::TraceContext;pub use traits::Aerro;pub use ext::ResultIntoStatusExt;pub use ext::StatusIntoResultExt;pub use traits::IntoStatus;pub use traits::TryFromStatus;pub use wire::decode::decode;pub use wire::encode::EncodeOptions;pub use wire::encode::encode;
Modules§
- any
- Anyhow / eyre interop — see spec §12.
- category
- Variant taxonomy — see spec §8.
- error
- Decode/encode error types — see spec §5.
- exposure
- Exposure tiers — see spec §9.
- ext
- Convenience extension traits for sites that want neither layer nor macro.
- failure
ServiceFailure<E>— typed error plus accumulated trace.- frame
- One hop in the call trace — see spec §7.
- handler
- Handler traits for wrapping typed errors into
tonic::Status. - remote
- Type-erased fallback for unknown wire types — see spec §5.
- tower
- Tower integration — see spec §11.
- trace
- OTel trace + span IDs piggy-backed on every error — see spec §7.
- traits
- wire
- Wire envelope (prost) + encode/decode glue.
Constants§
- VERSION
- Current crate version.