Error payloads in Zig
L'article décrit une approche Zig utilisant une union(enum) pour générer des types Diagnostics spécifiques à chaque fonction afin de réduire le code redondant. Ils incluent des méthodes qui permettent d'associer et de propager des payloads d'erreur sans beaucoup de code répétitif. Le mécanisme s'appuie sur FromUnion qui génère un ensemble d'erreurs à partir des champs de l'union et sur une fonction withContext pour définir le payload au moment du retour. Les exemples montrent comment construire des diagnostics, appeler countRows et copier le payload d'une diag à l'autre lorsque survient une erreur. Le texte note aussi que ZLS peut ne pas inférer correctement les résultats des appels diag.call et que des annotations de type explicites peuvent être utiles.