gioser

tawasuyu/hifas

Motor en Rust para decidir, con demostración y no a ojo, cuándo un conjunto de réplicas local-first puede operar sin coordinación y cuándo no — y, cuando la respuesta es "sí, dentro de límites", proveer el mecanismo que lo garantiza.

Rust 24Markdown 15TOML 1358 Definiciones

⎇ 74acdb9dbca5fc2399bce6f3d65a3bf865c01c22 src/error.rs Rust · 22 líneas · 772 B Historia Quién tocó qué crudo

M0/T0: scaffold del crate sheafsync 6595dbed8 · Sergio ·

1//! Errores tipados de la librería (§5.1). Nada de `unwrap()` en rutas públicas.
2
3use thiserror::Error;
4
5/// Error raíz de `sheafsync`.
6#[derive(Debug, Error)]
7pub enum SheafError {
8    /// Dimensiones incompatibles al ensamblar el coboundary o multiplicar matrices.
9    #[error("dimensiones incompatibles: {0}")]
10    DimensionMismatch(String),
11
12    /// El haz referencia una réplica o arista que no existe en el nervio.
13    #[error("entidad inexistente en el nervio: {0}")]
14    MissingEntity(String),
15
16    /// Marcador de funcionalidad aún no implementada (scaffolding M0).
17    #[error("no implementado todavía: {0}")]
18    NotImplemented(&'static str),
19}
20
21/// Alias de resultado usado en toda la librería.
22pub type Result<T> = std::result::Result<T, SheafError>;