El estándar actual en Rust consiste en definir un enum de errores por módulo o por crate, lo que genera enums con variantes que la función no produce.
Estos grandes enums de error dificultan expresar requisitos precisos en el sistema de tipos de Rust.
Una alternativa es representar cada error como una estructura independiente en lugar de variantes de un enum.
El crate terrors permite definir errores individuales pero requiere ampliar manualmente con .map_err(OneOf::broaden).
El crate error_set usa macros para definir conjuntos de errores y uniones entre ellos de forma concisa, soportando el operador ? para subconjuntos de errores.
Existen otras bibliotecas como SmartErr y macros de atributo que generan enums de error automáticamente según el cuerpo de la función.
Get notified when new stories are published for "🇪🇸 Hacker News Espanyol"