Skip to main content

Crate aerro

Crate aerro 

Source
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.

Derive Macros§

Aerro
AerroHandler