La pratique standard en Rust consiste à définir un enum d'erreur global par module ou crate, ce qui conduit à des variantes non utilisées par certaines fonctions.
Cette approche va à l’encontre du système de types de Rust et alourdit le code par la multiplication de conversions d’erreurs.
Une alternative consiste à représenter chaque erreur comme une structure indépendante et à combiner des ensembles d’erreurs, comme proposé par la crate terrors.
La crate error_set permet, via des macros, de définir simplement des ensembles d’erreurs, d’automatiser les conversions et de prendre en charge l’opérateur ? pour les sous-ensembles d’erreurs.
D’autres librairies, telles que SmartErr ou des macros attributs, explorent des paradigmes similaires pour générer automatiquement des enums d’erreurs selon le corps de la fonction.
Get notified when new stories are published for "🇫🇷 Hacker News Français"